Skip to main content

Full text of "Kilobaud Microcomputing Magazine (January 1980)"

See other formats





i, IcUWr 2m, 1979, 13UJ»32.2 Cuttrt 
tr 2.} 
r«rtiMl m«4 Mill? lit CMtr#l-» till* Uli t#tfi 

••• ftlctM U Ctff/tatM ••• 

»• |M £«fl»t"f lit Cii^ttf II* UlUtii |MN SffUt •♦♦ 

(fffUt * tlict 12/2/71] 

> Cwtrtl efcjractarf t c ^Ut * If Ulf tffUai 

tmtnl-VHL Ertttf lift cftaraeUr tfp*. (fc* tct»« it) 

CmtnM tmcil orrtai ariatiaf 

C«atr«l-f 'lillf cwmt f wet 1m, rtt«r*« U 

C«atr«l-i Sm4 9 Milt aftar CI/IF 

Caatral-ff tat#*f earraat iaa«t U M (aftar MU 

CaatraM Staa/ftart aataat (far via* taeaiaal) 

Caairal-f Eratat tarraat iaa«t liaa 



PrttltM? Tff calliaa tW fallaaiaa aaatart C61? a 
■itrt Nlricti HJ-ttTt, Stf-H^Ttf-***! 
kttt lams' ftf-WI, H3-2m, m-ITW b. 32t 
Lit (mm* iN-1142, 212-1121 fa. 2M 

HlltUwi Lii_ 



((17 araa cMt)i 










In This Issue— 27 Articles 

ncluding: 

IS Dial-Up Directory: New Series on CBBS Activity 26 

£ Operator-Oriented Data Base Management— Part 1 84 

h Customized PET: Computer and Disk Drives in a Single Package 116 

5 OS1 Challenger 1PMF Review U0 

Complete Table of Contents on page 5. 



From PEFGCM 



One-Drive System: 

$399. (40-track) & $675. (77-track) 
Two-Drive System: 

$795. (40-track drives) & $1350. (77-track drives) 
Three-Drive System: 

$1195. (40-track drives) & $2025. (77-track drives) 
Requires Expansion Interface, Level II BASIC & 16K RAM 




Low Cost Add-On Storage for Your TRS-80 *. 

In the Size You Want. 

When you're ready for add-on disk storage, we're ready for you. 
Ready with six mini-disk storage systems — 102K bytes to 591 K bytes of 

additional on-line storage for your TRS-80 



• Choose either 40-track TFD-100™ drives 
or 77-track TFD-200™ drives. 

• One-, two- and three-drive systems im- 
mediately available. 

• Systems include Percom PATCH PAK 
#1™, on disk, at no extra charge. PATCH 
PAK #1™ de-glitches and upgrades 
TRSDOS for 40- and 77-track operation. 

• TFD-100™ drives accommodate "flippy 
disks." Store 205K bytes per mini-disk. 

• Low prices. A single-drive TFD-100 TM 
costs just $399. Price includes PATCH 
PAK #1™ disk. 

• Enclosures are finished in system- 
compatible "Tandy-silver" enamel. 



Whether you need a single, 40- 
track TFD-1 00™ add-on or a three-drive 
add-on with 77-track TFD-200™s, you 
get more data storage for less money 
from Percom. 

Our TFD-100™ drive, for example, 
lets you store 102.4K bytes of data on 
one side of a disk — compared to 80K 
bytes on a TRS-80* mini-disk drive — 
and 102.4K bytes on the other side, too. 
Something you can't do with a TRS-80* 
drive. That's almost 205K bytes per 
mini-disk. 

And the TFD-200™ drives provide 
197K bytes of on-line storage per drive 



* 



— 1 97K, 394K and 591 K bytes for one-, 
two and three-drive systems. 

PATCH PAK #1™, our upgrade 
program for your TRSDOS*, not only 
extends TRSDOS* to accommodate 40- 
and 77-track drives, it enhances 
TRSDOS* in other ways as well. PATCH 
PAK #1™ is supplied with each drive 
system at no additional charge. 

The reason you get more for less 
from Percom is simple. Peripherals are 
not a sideline at Percom. Selling disk 
systems and other peripherals is our 
main business — the reason you get 
more engineering, more reliability and 
more back up support for less money. 



In the Product Development Queue . . . a printer interface for using your TRS-80* with any 
serial printer, and . . .the Electric Crayon™ to map your computer memory onto your color TV 
screen — for games, animated shows, business displays, graphs, etc. Coming POQ! 



™ TFD-100, TFD-200. PATCH PAK and Electric Crayon are trademarks of PERCOM DATA COMPANY. 

*TRS-80 and TRSDOS are trademarks of Tandy Corporation and Radio Shack which have no relationship to PERCOM DATA COMPANY 



PEfiGOM 



PERCOM DATA COMPANY, INC 
211 N. KIRBY • GARLAND, TX. • 75042 



*^P7 



To order add-on mini-disk storage for your TRS-80*, 
or request additional literature, call Percom's toll-free 
number: 1-800-527-1592. For detailed Technical infor- 
mation call (214)272-3421. 

Orders may be paid by check or money order, or 
charged to Visa or Master Charge credit accounts. Texas 
residents must add 5% sales tax. 

Percom 'peripherals for personal computing' 





NTRTEC DATA SYSTBy/lS SUPERBRAIN 



l T T 1 



i i 







The Honor Graduate 



There's been a lot of talk lately 
about intelligent terminals with 
small systems capability. And, it's 
always the same. The systems 
which make the grade in perfor- 
mance usually flunk the test in 
price. At least that was the case 
until the SuperBrain graduated with 
the highest PPR (Price/ Perfor- 
mance Ratio) in the history of the 
industry. 

For less than $3,000*, SuperBrain 
users get exceptional performance 
for just a fraction of what they'd 
expect to pay. Standard features in- 
clude: two dual-density mini-flop- 
pies with 320K bytes of disk storage, 
up to 64K of RAM to handle even 
the most sophisticated programs, 
a CP/M Disk Operating System 
with a high-powered text editor, as- 

*Quantity one. Dealer inquiries invited. 



sembler and debugger. And, with 
SuperBrain's S-100 bus adapter, you 
can even add a 10 megabyte disk! 

More than an intelligent terminal, 
the SuperBrain outperforms many 
other systems costing three to five 
times as much. Endowed with a 
hefty amount of available software 
(BASIC, FORTRAN, COBOL), the 
SuperBrain is ready to take on your 
toughest assignment. You name it! 
General Ledger, Accounts Receiv- 
able, Payroll, Inventory or Word Pro- 
cessing ... the SuperBrain handles 
all of them with ease. 

Your operators will praise the 
SuperBrain's good looks. A full 
ASCII keyboard with a numeric key- 
pad and function keys. A non-glare, 
dynamically focused, twelve inch 
screen. All in an attractive desktop 
unit weighing less than a standard 



office typewriter. Sophisticated 
users will acclaim SuperBrain's twin 
Z-80 processors which transfer data 
to the screen at 38 kilobaud! Inter- 
facing a printer or modem is no 
problem using SuperBrain's RS- 
232C communications port. But best 
of all, you won't need a PhD in com- 
puter repair to maintain the Super- 
Brain. Its single board design makes 
servicing a snap! 

So don't be fooled by all the fresh- 
man students in the small systems 
business. Insist on this year's honor 
graduate . . 




the SuperBrain. 

^INTRTEC 
^SY5TEMS 



® 

2300 Broad River Road, Columbia, SC 29210 
(803) 798-9100 TWX: 810-666-2115 



MORE CAPABILITIES THAN 
ANY OTHER PERSONAL COMPUTER 



UNDER $1,000 



Compare the built-in features of the 
ATARI B 80(Twith other leading personal 
computers. Whether you program it 
yourself or use pre-programmed car- 
tridges or cassettes, the ATARI 800 gives 
you more for your money 

Run your own programs? Easy Just 
plug in the 8K BASIC or optional 
Assembler language cartridge, and 
go. They're ROM based. That means 
more RAM for your programs. 

Also included with the ATARI 800 is 
an internal speaker and four separate 
sound channels, FCC approval, a 
built-in RF modulator, the ATARI 410" 
Program Recorder and a high speed 
serial I/O. 

Peripherals? Add up to 48K of 
user installable RAM. Or up to four 
individually accessible floppies. 



A high-speed printer. And more to come. 

Graphics programs? No problem. The 
ATARI 800 offers 128 color variations: 
16 colors in 8 luminance levels. Plus 
29 keystroke graphics symbols and 8 
graphics modes. All controlled from a 
57 character ASCII keyboard. With upper 
and lower case. 

Or, program it our way. There are excit- 
ing programs available and many more 
on the way for the ATARI 800. Business 
programs. Home Management pro- 
grams. Entertainment. And with the 410 
audio/digital recorder, you can add 
Atari's unique Talk & Teach" Educational 
System cassettes. 




Your way or our way you'll find that 
the ATARI 800 is probably the most 
powerful computer that $999.99* 
can buy 

And with that power, you get depend- 
ability. Dependability built into Atari's 
custom designed and fully-tested LSI cir- 
cuitry and lower component count, (less 
components, less chance for failure). 

But if anything ever does go wrong, 
you'll find a complete network of 
computer-connected Atari service facil- 
ities waiting for you throughout the 
country. 

Make your own comparison. Hands 
on. Anywhere computers are sold. Or, 
send for a free chart that compares 
the features of the ATARI 800 to 
other leading fully-programmable 
computers. 

\ 'Suggested retail price $999 99, includes 
computer console, program recoraer 
and BASIC language cartridge 



lllliiniiiniiminiimm 



imnmmi 




ATARI 




AL COMPUTER SYSTEMS 

1265 Borregas Ave., Dept. C, Sunnyvale, California 94086. Call toll-free 800-538-8547 
££ ta " 197 * (In California 800-672-1404) for the name of your nearest Atari retailer. 

W A Warner Communications Company 



kilobaud 



MICROCOMPUTING 

contents* jan. '80 



ARTICLES 

26 Dial-up Directory Start of a series on computer bulletin board services. Frank J. Derfler, Jr. 

28 Tiny Dual-Trace Oscilloscope Non-Linear Systems* Model MS215. Nat Wadsworth 

32 Chinese Character Generation Use the Sorcerer's graphics keys. Timothy Huang 

36 Using Five-Level Teleprinters With a TRS-80 These printers abound. Brian Bateman 

50 A Video Board from Ithaca IntersyStemS This article takes a look at it Ernie Brooner 

52 Route 66 Modem Exchange information with this economical design. Frank J. Derfler, Jr. 

56 The SWTP Computer System Installment number 8 looks at the 6809. Peter A. Stark 

66 Outer Limits Addition Overcome programming limitations. Allan S. Joffe 

70 TM990/189 University Board New microprocessor from Texas Instruments. John Caulfield 

74 Not-So-FaSt Renumberer for OSI BASIC For neat and tidy listings John W. Aughey 

78 Visions Of Sacks Of Silver Dollars Blackjack strategy tutor. Thomas W. Glaser 

84 5 Data Base Management System First in 3-part series describes the system. Joel Shapiro 

90 RelOCator for North Star BASIC Find all the applications Lance E. Rose 

94 Synertek'S SYM-1 The newly named VIM is still versatile. Bonaventura Paturzo 

98 Converting Selectric Keyboards from BCD to Correspondence Code (part 2) Robert m. w&i 

102 Plucking Programs from Thin Air An unusual source of programs John J. Glidewell 

110 "Core" and More for Your Apple Accessories for serious computing. Leslie R. Schmeltz 

116 The MetamorphOSiS Of a "Custom" PET Portability in a disk based PET Robert Freeman 

126 Darkroom Master Unleash your PET in the darkroom. Jeff Knapp 

134 TRS-80 Printer Interfaces Serial and parallel designs. Rod Hallen 

140 The OSI Challenger 1 P MF A good minifloppy for the beginner. Charles Curley 

144 A Heath H8 Disassembler a foiiow-up to "COnops." chesney e. Twombiy 

150 Software Clock for the 6800 Instant access to correct date and time— in ASCII. Richard R. Parry 

160 Converting a Bargain TV tO a Video Monitor Use the Lancaster method Stephen E. Bach 

164 Load Your SWTP at 4800 + Baud With JPC Products' cassette interface. Jerry L. Hunt 

172 Hex and ASCII Do it with an ASCII keyboard. D. E. Price 

\Wb STAWUptmg BASIC You'll need a source listing and this article. Willits, Wiser 



DEPARTMENTS 

Publisher's Remarks -6 

Output from Instant Software, Inc. 

Books — 8 

PET-pourri — 14 

Computer Clinic - 16 

Club Notes -16 



-7 



Letters -17 
New Products -20 
Classifieds -170 
Corrections — 170 
Dealer Directory -171 
New Software -188 



Cover. This month's cover shows CBBS Boston (617-963-8310) dialed up and displayed on a Heath H19. (Photo by Reese 
Fowler, ISI staff) 



micro info 



T This symbol next to a title in 
* the table of contents indicates 
that the article is a business- 
application article. 

Manuscripts 

Contributions in the form of manu- 
scripts with drawings and/or photo- 
graphs are welcome and will be con- 
sidered for possible publication. We 
can assume no responsibility for loss 
or damage to any material. Please 
enclose a self-addressed, stamped 
envelope with each submission. Pay- 
ment for the use of any unsolicited 
material will be made upon accep- 
tance. All contributions should be di- 
rected to the Microcomputing 
editorial offices. "How to Write for 
Microcomputing" guidelines are 
available upon request. 

Editorial Offices: 

Pine Street 

Peterborough NH 03458 

Phone. 603-924-3873, 924-3874 

Advertising Offices: 

Pine Street 

Peterborough NH 03458 

Phone: 603-924-7138, 924-7139 

Circulation Offices: 

Pine Street 

Peterborough NH 03458 

Phone: 603-924-7296 

To subscribe, renew 
or change an address: 

Write to Microcomputing, Subscrip- 
tion Department, PO Box 997, Farm- 
ingdale NY 11737. For renewals and 
changes of address, include the ad- 
dress label from your most recent 
issue of Microcomputing. For gift 
subscriptions, include your name and 
address as well as those of gift recip- 
ients. Postmaster: Send form #3579 
to Microcomputing, Subscription Ser- 
vices, PO Box 997, Farmingdale NY 
11737. 

Subscription 
problem or question: 

Write to Microcomputing, Subscrip- 
tion Department, PO Box 997, Farm- 
ingdale NY 11737. Please include an 
address label. 



Kilobaud Microcomputing (ISSN 
0192-4575) is published monthly by 
1001001, Inc., Pine St., Peterborough 
NH 03458. Subscription rates in U.S. 
are $18 for one year and $45 for three 
years. In Canada: $20 for one year and 
$51 for three years. In Europe, send 
89,-DM in Eurocheque or send credit 
card information to: Monika Nedela, 
Markstr. 3, D-7778 Markdorf, W. Ger- 
many. South African Distributor. KB 
Microcomputing, PO Box 782815, 
Sandton, South Africa 2146. Austra- 
lia: For subscriptions write- 
Katherine Thirkell, Sontron Instru- 
ments, 17 Arawatta St., Carnegie, Vic. 
3163 Australia. All other foreign sub- 
scriptions are $23 -one year only 
(surface mail). Second-class postage 
paid at Peterborough NH 03458 and at 
additional mailing offices. Phone: 
603-924-3873. Entire contents copy- 
right 1979 by 1001001, Inc. No part of 
this publication may be reprinted or 
otherwise reproduced without written 
permission from the publisher. 



Microcomputing January 1980 5 



PUBLISHER'S REMARKS 



Wayne Green 



Tmwmtx 




h n $\ 73 $i 

is mm s? ^f- 



rL 



ofij o E] B# tifl 
S <t g- Pg P. 

f/v rhr fc|o o 
I-b <t 4# Me £ 



;> 




tfcj 



W 



Ji£ H ^a -5^ ttl 



It 








B9 

•He 



m 



It takes an 18 by 22 dot matrix to 
print these Chinese characters. It 
takes a lot of time to put the 
characters together and a long 
time to print them. That the 
Chinese have been able to cope 
with their incredible written 
language with computers is a 
testimony to man's ability to 
adapt to almost anything. 



Next Year: Asia! 

Well, you missed out on a big 

one. The IEEE sponsored a trip 
to Asia in October. It was a hum- 
dinger. Over 100 people went to 
consumer electronics shows in 
Seoul, Osaka, Teipei and Hong 
Kong. Some went to look for 
products to sell. Some went with 
products to be sold in these rapid- 
ly growing markets. Some went 
for the fun of it. No one was dis- 
appointed. 

The trip, which at well under 
$2000 for three weeks in several 
countries was one of the modern- 
day bargains, included all 
transportation, hotels and more 
meals than you might want. 

If you sell anything, the cornu- 
copia of products on display at 
these consumer electronics shows 
will fire your imagination. And if 
they don't already have what you 
want, you can bet that they will 
be happy to gear up and produce 
what you need in a few days. 

Korea and Taiwan, in particu- 
lar, are almost desperate for trade 
and are ready to buy your prod- 
ucts or make them for you . . . 
with government assistance. If 
you have anything that might sell 
in China, go to Hong Kong, the 
great entryway to China. 

Sherry and I are planning to 
take this tour again next year, and 
I hope that some of you will join 
us in the fun. We'll set up visits to 
computer stores and manufactur- 
ers and talk with computer clubs. 

I'll have more information on 




Many of the keys have up to five different characters or character com- 
ponents, which can be put together with others to make the finished 
Chinese characters. The 10,000 characters that can be generated with 
this system constitute a minimum language, since most Chinese use 
four to eight times that number of characters when writing. 






this trip in 1980; for now, mark 
off the first three weeks of Oc- 
tober and plan to do some fan- 
tastic traveling during this time. 



China Has a Big Problem 

My recent visit to both Taiwan 
(Republic of China) and Hong 
Kong (essentially an adjunct to 
mainland China) put me in touch 
with the latest Chinese micro- 
computer technology. The 
Chinese have a problem. Their 
language is incompatible with 
computers. 

I watched two different 
Chinese character-generator ter- 
minals at work. One had hun- 
dreds of keys, each with up to five 
different characters on it, and 
many characters required the use 
of two or more keys. This system 
could generate 10,000 different 
characters ... a sort of 
minimum for writing in the 
language. Another had a system 
that built up the characters with 
as many as seven parts before dis- 
playing the complete character 
. . . again with a 10,000-char- 
acter library. 

The basic problem is that each 
Chinese character is like one of 
our words, and the Chinese have 
no phonetic spelling system. The 
Japanese do have a phonetic sys- 
tem, called Kana, so they are able 
to cope with computers. I under- 
stand that Singapore, which is 98 
percent Chinese, has decreed that 
the official language of the coun- 



try will be English within 20 
years. It is a little late to invent a 
Chinese phonetic language, so 
perhaps the writing of thousands 
of years should be set aside and 
English selected for China for the 
future. This would not be easy. 

As China falls behind the rest 
of the world in computer use, I 
think the pressure will be on for 
some solution to the problem. 
Microcomputers will quickly ag- 
gravate this problem by making 
even small businesses and educa- 
tion dependent on computers. 
The Chinese are good business- 
men, so I think they will see the 
poster on the wall and realize that 
something is going to have to 
give. As deeply as they are rooted 
in tradition, tradition will have to 
give way to technology if China is 
going to be competitive in the 
future. 

Few people are yet aware of the 
incredible changes that micro- 
computers are going to make in 
the world. Those who see what is 
happening realize that the world 
will never be the same. In high- 
technology countries, computers 
will make it possible for people to 
be freed from repetitive tasks 
such as secretarial work, filing 
and record keeping. Emerging 
nations will depend on micro- 
computers for business and 
education as much as high-tech- 
nology countries. 

Where does this leave a country 
with no phonetic language? A 
simple and computer-compatible 
language is required to cope with 
the coming changes. Thus I think 




This Chinese character generator has over 200 keys used to build up a 
library of over 10,000 different characters. 



6 Microcomputing January 1980 



that China will have to grit its col- 
lective teeth and opt for English 
as a way to accommodate com- 
puters. 

Recognizing this situation, In- 
stant Software is shipping pro- 
grams in English to both Taiwan 
and Hong Kong. The programs 
being sent to Japan are in both 
English and Kana. Those going to 
Korea are largely being translated 
into Korean. 



Practice the Preaching 

Can a magazine have too much 
circulation? I think so, and I'll 



tell you why. The main problem 
when circulation increases is that 
advertising costs also have to go 
up by the same percentage. When 
the ad rates go up, smaller firms 
no longer can afford to run ads. 
This not only discourages new 
small firms, it also makes a maga- 
zine less interesting. These new 
firms often have the most pro- 
gressive products and the best 
bargains. 

With Kilobaud Microcomput- 
ing's circulation reaching 
100,000, I faced a serious situa- 
tion. Ad rates, which are based 
on so many dollars per thousand 
readers, would have to be in- 
creased. One look at the adver- 
tising barrenness of high-circula- 



tion magazines convinced me that 
I didn't want to go that route. 

The increase in sales and inter- 
est in the TRS-80 system made it 
obvious that TRS-80 information 
would eventually push out the 
coverage of other systems in Mi- 
crocomputing. It was also obvi- 
ous that this would quickly in- 
crease the circulation of the mag- 
azine to where it would start to 
freeze out smaller firms. When I 
started Byte my overall plan was 
for us to build magazines up to a 
maximum circulation of around 
100,000 and then split them ac- 
cording to separate interests to 
keep down further growth. The 
easiest split for Microcomputing 
was to start 80 Microcomputing. 



OUTPUT FROM ISI 



Sherry Smythe 



kilobaud 



ISI Sales Reps 

You'll be reading more about 
the developing Asian distribution 
of Instant Software elsewhere, 
but the nub of it is that software is 
now being exported to Japan and 
will eventually be available in 
about 100 computer stores there 
in both English and Japanese ver- 
sions. 

Meanwhile, distribution in the 
U.S. has been stepped up. More 
computer stores are joining the 
Instant Software team; we are 
projecting over 500 stores asso- 
ciated with ISI by the end of 
1979. Dozens of enthusiastic peo- 
ple have been applying for the 
sales rep jobs, and a network of 
reps is being established. 

Because the key to the success 
of any publisher lies primarily in 
marketing, ISI has set up the first 
rep organization in the micro- 
computer field. These sales reps 
go into every computer outlet and 
make sure that the outlets are 
aware of the benefits Instant 
Software will bring. 

ISI is also going into every 
country in the world where 
microcomputers are sold and 
making sure that ISI program 
packages are on hand to help 
these sales. This brings Instant 
Software to a world market of 
well over 600 million people. We 
have translators setting up our 
programs in more languages and 
supporting more systems. 

We need more associate editors 
to help convert our program 
packages for the Apple and 

I 



Heath systems. Some of the pro- 
grams call for extensive graphics 
conversions, which will be com- 
pensated by increased royalties 
for this work. If you have both a 
TRS-80 and an Apple, this might 
be a way to make a nice addition- 
al income, one that will come in 
every month in royalties. Write to 
me about this. 

As I look over the competition, 
I believe that both our quantity 
and quality are now tops in the 
field. As a programmer, your 
royalties are going to be a direct 
function of the ability of your 
publisher to sell, so the bigger the 
firm you go with, the more sales 
you can expect. The problem here 
is that the competition for publi- 
cation of a specific type of pro- 
gram will be tougher with a large 
publisher such as ISI, and you 
could find yourself coming in sec- 
ond to some other programmer. 
There is much to be said for get- 
ting busy — now — and not wait- 
ing. 

Smaller firms that have tried to 
market program packages have 
contacted us to simplify their 
sales and distribution problems. 
They have had difficulties with 
credit, advertising, duplication, 
packaging, printing documenta- 
tion and unwillingness of many 
dealers to try to do business with 
a hundred small firms instead of 
one large one. By letting ISI do 
the marketing, smaller firms can 
concentrate on writing and de- 
veloping program packages rath- 
er than involving themselves with 
the endless miseries of marketing 
and financing. 



Warning 

If you are a TRS-80 user and 
have a CTR-80 cassette recorder, 
be sure to have Radio Shack do a 
free fix on your recorder so it will 
not zap your program tapes. We 
get back a few tapes each month 
that have been zapped this way, 
and we replace them for a $1 ser- 
vice charge. But this is a big pain 
for any computerist, and the re- 
corder should be modified so it 
will not accidentally erase parts 
of the program. 

One hint: If you do manage to 
ruin part of a program, check to 
see if there is a second recording 
of the program further on down 
the tape. Most ISI program cas- 
settes have two dumps of the pro- 
gram . . . just in case one gets 
botched in some way. 



Questions and Answers 

Some phone callers have 
wondered why Instant Software 
doesn't answer questions that 
have been written in. We do an- 
swer, but many programmers in- 
clude questions with submitted 
programs. That's a sure way to 
not get answers. If there are ques- 
tions, use a separate sheet of 
paper and envelope so the ques- 
tions won't go into the program 
files. Better, address questions to 
Editor-in-Chief Paul Weiner, In- 
stant Software, Peterborough 
NH 03458. 



MICROCOMPUTING 

PUBLISHER/EDITOR 

Wayne Green 

EXECUTIVE VICE PRESIDENT 

Sherry Smythe 

CORPORATE CONTROLLER 

O. Alan Thulander 

ASSISTANT PUBLISHER/EDITOR 

Jeffrey D. DeTray 

MANAGING EDITOR 

John Barry 

EDITORIAL ASSISTANTS 

Dennis Brisson 
Susan Gross 

ADMINISTRATIVE ASSISTANT 

Dotty Gibson 

PRODUCTION DEPARTMENT 

MANAGER: 
Noel R. Self 

ASSISTANT MANAGER: 

Robin M. Sloan 

STAFF: 

Steve Baldwin 

Robert Drew 
James H. Gray II 

Bruce Hedin 

Carl Jackson 

Ken Jackson 

Dion Owens 

Nancy Salmon 

Patrice Scribner 

John W. White 

TYPESETTING 

Barbara J. Latti 

Sara Bedell 
Rhonda Clapper 
Sandie Gunseth 

Mary Kinzel 

PHOTOGRAPHY 

W. H. Heydolph 

Tedd Cluff 
Terrie Anderson 

PROJECTS EDITOR 

Jim Perry 

BOOK EDITORS 

Peter Perin 

Chris Brown 

Emily A. Gibbs 

ASSOCIATE EDITORS 

Frank J. Derfler, Jr. 

Rod Hallen 

Peter Stark 

Sherm Wantz 

BOOKKEEPER 

Knud E. M. Keller 

MARKETING/CIRCULATION 

Harold L. Stephens 
Donna Taylor 

BULK SALES MGR. 

Judy Waterman 

CIRCULATION 

Pauline Johnstone 

COMPUTER PROGRAMMING 

Richard Dykema 

EUROPEAN MARKETING DIR. 

Reinhard Nedela 

AUSTRALIAN DISTRIBUTOR 

Katherine Thirkell 

— ADVERTISING — 

Aline Coutu, Mgr. 

Marcia Stone 

Penny Brooks 

Nancy Ciampa 

Cheryl McDaniel 

Jerry Merrifield 

Lori Mugford 

Kevin Rushalko 

Carol Symonowicz 



T.M. 



Microcomputing January 1980 7 



BOOK REVIEWS 



. 



Payroll with Cost 
Accounting in C BASIC 

Osborne Mc(i raw-Hill 
Berkeley CA 
Looseleaf with binding 
364 pages, $15(?) 

I indicated the price of the 
book as "$15(?)" because I wrote 
the review using an advance copy, 
prior to publication of the book; 
hence, I did not know what the 
exact retail price would be. 

The Osborne series of business- 
program books forms an inte- 
grated accounting system com- 
posed of three parts: payroll with 
cost accounting, accounts pay- 
able/receivable and general led- 
ger. Each part can be used inde- 
pendently or in conjunction with 
the others. In this respect the 
Osborne system is similar to sev- 
eral competing systems. It is dis- 
similar in another respect: price. 
The retail prices of comparable 
products are typically in the $700 
range, while the end-user cost for 
one part of the Osborne system is 
$15 for the book and another 
$100 or so for a disk containing 
the programs. 

The first versions of the busi- 
ness-program books used Wang 
BASIC. The new versions — of 
which Payroll is the first— use 
CBASIC-2, which is widely avail- 
able for 8080- and Z-80-based mi- 
crocomputers. The CBASIC-2 
versions are functionally identi- 
cal to the Wang BASIC versions. 
To run the programs under the 
CP/M operating system and the 
CBASIC-2 compiler, the micro- 
computer system should have 
40K memory, a video terminal 
with programmable cursor con- 
trol and a 132-column printer 
with form-feed (or "top-of- 
page") control. Substantial disk 
capacity should be available. 

Simplicity is a key feature of 
the books at the end-user level. 
Functions are selected from a 
menu that the programs display 
on the video terminal. Payroll in- 
cludes 34 primary functions, 
ranging from file maintenance to 
report generation. Eight of the 
functions support the job cost ac- 
counting subsystem. Each of the 
34 functions is actually a separate 
program or a separate set of pro- 
grams. A controlling program — 
the "menu" program— allows 



the user to select a function from 
the menu display; the program 
for the selected function is then 
loaded automatically from disk. 
Payroll with Cost Accounting 
—CBAS/C (i.e., the book) is di- 
vided into eight chapters. The 
first provides an overview of the 
system, followed by a list of avail- 
able functions. Chapter two, 
"Data Files," explains the file- 
accessing techniques used. It lists 
and describes the data files the 
payroll system maintains. This 
chapter also includes two useful 
tables: a cross-reference of which 
programs use which files and a 
detailed layout plan of the files. 
Chapter three is the "Manage- 
ment Guide." It describes the 
procedures normally required for 
successful use of the system. 
Some procedures are usually per- 
formed daily, others monthly, 
others quarterly and so on. Also 
described in this chapter are tech- 
niques to prevent and recover op- 
erator errors. 

Chapter four, the "User's 
Manual," is a 150-page book- 
within-a-book. Its half-dozen 
pages of introductory material 
are followed by detailed instruc- 
tions for the 34 functions. Each 
function receives several pages of 
consideration, including textual 
discussion, sample program dis- 
plays and/or printouts and a user 
flowchart. As with the other sec- 
tions of the volume, the text of 
the User's Manual is consistently 
lucid. General readability is im- 
proved by a boldface/lightface 
format that appears in many 
other Osborne publications. 

Chapter five describes the 
hardware and software needed 
for direct use of the CBASIC-2 
versions. For those who plan to 
convert the programs to another 
dialect of BASIC— or even an- 
other language— the chapter next 
covers the elements of CBASIC-2 
that are substantially different 
from more conventional, inter- 
preted BASICS. Chapter six, 
"Changing This Payroll," pro- 
vides useful instructions on how 
to customize the system. 

Chapter seven covers miscel- 
laneous information relating to 
setup and maintenance of the 
payroll system: details on com- 
mon subroutines, disk space 
mapping, data file creation and 
CRT mask manipulation. The 
latter represents a feature of the 
Osborne systems: display masks 



are defined centrally and may be 
modified using a program called 
CRTFM. The section on CRT 
mask files is a bit cursory. 

The final chapter contains the 
source listings of the 39 programs 
and ten common subroutines that 
form Payroll. The listings are 
large enough to read. They are 
also amply commented with re- 
mark statements. Another docu- 
mentation aid is the frequent use 
of descriptive variable names, 
such as DEDUCTION.AMOUNT 
and ANNUAL. PAY. 

A small question arises: how 
do you transfer 300K + of listings 
from the printed page to a com- 
puter? You could key them in, 
perhaps, but that wouldn't be 
practical. The solution is to make 
the programs available on disk, 
which Osborne has done. 

The company sells 8-inch, sin- 
gle-density disks containing 
source listings (.BAS suffix) of 
the programs. The disks cost $250 
per part; payroll, accounts 
payable/receivable and general 
ledger are three separate parts. 
Purchasers of the disks may mod- 
ify and copy them for resale with- 
out royalty. That is, Osborne has 
defined their copyright to pro- 
hibit only human-readable (i.e., 
printed) reproductions of the 
programs. (Presumably, you are 
permitted to generate hard-copy 
listings for local use, however.) 

Other companies have con- 
verted the programs to run on 
other microcomputers and mini- 
computers. Osborne maintains a 
referral list for customers who 
want to obtain conversions for 
their systems. At this writing, 
nearly 20 computers are sup- 
ported by recognized converters. 
Each converter determines his 
own price. 

The Osborne business-program 
books seem ideal for the emerg- 
ing micro-based business system 
market. Even in comparison to 
the few competent software pack- 
ages available today, the Osborne 
programs are good. And while 
the books are intended for the im- 
plementor who wants to use the 
published programs, they also 
form worthwhile models and ref- 
erences for the programmer who 
wants to develop his own business 
software. In either case, the 
Osborne series should prove in- 
valuable. 

David Price 
Midlothian VA 



BASIC with Style 

Wagin and Ledgard 
Hayden Book Co., Inc. 
Rochelle Park NJ 
1978, $5.95 

BASIC with Style is one of a 
series of "programming prov- 
erbs" books. Other volumes have 
been published for FORTRAN, 
COBOL and ALGOL/PL/ 1. The 
aim of all of the books in the 
series is the same: to present and 
explain a small set of nineteen 
rules for writing well-structured 
programs. 

BASIC with Style assumes that 
the reader knows the rules for 
writing syntactically correct BA- 
SIC programs. The point of the 
book is to teach you how to go 
from programs that follow the 
rules of BASIC grammar to pro- 
grams that are good from the 
point of view of BASIC style. 
Style does not mean attractive; 
it means well thought out and 
easy to read, check and modify 
. . . top-down structured pro- 
gramming. 

Structured programming is 
often presented as complicated 
and executable only in special 
languages (such as PASCAL or 
ALGOL) that are not usually 
available — especially on home 
computers. True, it is easier to 
write structured programs in 
PASCAL, but it can be done in 
BASIC almost as well. This book 
shows how. The basic rules pre- 
sented here are simple: think be- 
fore you write, write in manage- 
able chunks, comment as you go 
and check your work. All this is 
common sense; the book shows 
how to apply it. 

Only on two points do the au- 
thors give advice that may not be 
applicable to personal comput- 
ing. The first is their heavy stress 
on desk-checking syntax. This 
may be important in a batch envi- 
ronment where you wait half a 
day between the time you submit 
a program and the time you get it 
back; in an interactive context, it 
is much faster to run the program 
and let your BASIC tell you when 
you have mistyped something. 
Computers are much better at 
routine work than are people! 

The second area where the 
book departs from a personal- 
computing context is in discuss- 
ing the establishment of pro- 






8 Microcomputing January 1980 



gramming standards. This is 
something a programming group 
does; an individual can set and 
modify his or her own practices as 
experience dictates. 

In conclusion, BASIC with 
Style is a usefu\ book for some- 
one who has already learned BA- 
SIC and who wants to learn how 
to write programs according to 
modern ideas of effective pro- 
gramming. Programs written fol- 
lowing the recommendations in 
this book will be easier to write, 
more likely to work and easier to 
modify. They will also take up 
more memory, but that is often a 
small price to pay for a working 
program. 

John A. Lehman 
Ann Arbor MI 



The Elements of 
Programming Style 

Kernighan and Plauger 
McGraw-Hill, New York, 1974 
141 pages, softcover 

If you intend to write programs 
to be used by other people, then 
you should read this book. If you 
expect to become a professional 
programmer, this book is manda- 
tory reading. 

The Elements of Programming 
Style is definitely not an ordinary 
"how to program" book. In my 
opinion, there are three distinct 
differences between this and most 
programming books. 

The first is Kernighan and 
Plauger's primary concern with 
the "human factors" of pro- 
gramming: how to write pro- 
grams that are easier for people to 
read, understand and use. The 
authors make the point that if 
enough attention is devoted to the 
human requirements in pro- 
grams, the machine requirements 
will take care of themselves. To 
paraphrase the conclusion of 
chapter 1 : The problem with pro- 
grams people have trouble under- 
standing is not that computers 
have similar trouble, but that the 
programs often don't do what 
they are meant to do. 

Addressing the problem of 
having a program do what it is in- 
tended to do, Kernighan and 
Plauger present 63 "points of 
style." These range from the gen- 
erally familiar — "parenthesize to 
avoid ambiguity," "make sure 
comments and code agree," 
"choose a data representation 
which makes the program sim- 
ple," "watch out for off-by-one 
errors" — to the more esoteric — 



"10.0 times 0.1 is hardly ever 
1.0." If any of these rules does 
not seem obvious, don't worry. 
As you read the book, every rule 
is derived from examples that 
clearly show its application. 

The second difference between 
Elements of Programming Style 
and other programming books is 
the examples. Every example in 
this book is a program (or pro- 
gram segment) taken from a pub- 
lished programming textbook. 
Kernighan and Plauger then im- 
prove these programs using the 
points of style they wish to illus- 
trate. 

The authors mention two rea- 
sons why they use published pro- 
grams for their examples: (1) to 
show the application of the 
"points of style" to already exist- 
ing programs rather than present 
the reader with contrived exam- 
ples and (2) to learn to write bet- 
ter programs by improving old 
programs. 

This means learning to read 
critically and to rewrite programs 
carefully. These examples will 
convince good-to-average pro- 
grammers that this book is not 
just a rehash of known informa- 
tion. I can think of no better 
book to teach the underlying 
principles of program develop- 
ment to beginning programmers. 

The third difference about this 
book is a different method of 
publication. In their examples, 
Kernighan and Plauger uncover 
numerous errors, not just in style, 
but obvious programming errors 
such as typographical mistakes, 
misspelled identifiers and trans- 
posed statements that would have 
made it impossible to run the pro- 
gram as given. They also uncover 
plenty of not-so-obvious errors 
that should have been caught dur- 
ing testing. In order not to have 
the same kind of mistakes show 
up in their book, the authors 
typeset the book themselves, us- 
ing a computer-driven typesetting 
program that allowed them to test 
the examples directly from the 
text. While Kernighan and 
Plauger make no claim that their 
versions of the programs are 
"best" in any sense, there is some 
assurance that they will work as 
presented. 

Elements of Programming Style 
provides convincing proof that 
writing programs that are easy to 
debug, work properly with no 
hidden failure modes and are easy 
to use does not have to be a black 
art. Instead it is possible for any- 
one who will learn and apply a 
few basic principles of program- 
ming style. The authors also prove 
that it is possible to make these 



"better" programs available to a 
wide audience, with some assur- 
ance that the programs are usable 
as presented. I can testify that a 
conscientious application of even 
a few of the principles outlined in 
this book will make you a better 
programmer. It is my belief that 
when a majority of practicing 
programmers have read this 
book, the software industry will 
have taken a long step toward 
maturity. 

Jack W. Reeves 
League City TX 



Z-80 & 8080 Assembly 
Language Programming 

Kathe Spracklen 
Hayden Book Co., Inc. 
Rochelle Park NJ 
Softbound, 165 pp., $7.95 

Assembly-language program- 
ming is an exciting pastime. 
Therefore, I always keep my eye 
out for new books on the subject. 
I am especially interested in Z-80 
programming since I recently 
swapped my Sol for a Cromemco 
Z-2. I sent for a copy of Sprack- 
len's book hoping to capitalize on 
my 8080 experience and move 
painlessly up to the Z-80. 

I've accomplished my goal, but 
not without learning a few things 
that might be of interest to pro- 
spective purchasers of this text. 

The introduction to Z-80 & 
8080 Assembly Language Pro- 
gramming states that it is in- 
tended for people who have some 
experience in a high-level lan- 
guage such as BASIC or FOR- 
TRAN and want to tackle assem- 
bly-language programming. It 
also says it will provide just about 
everything the applications pro- 
grammer needs to know to get the 
most out of his machine. Let's see 
how close to those designs the 
book comes. 

Starting with simple decimal- 
binary-hex mathematics and then 
moving into a discussion of bits 
and bytes and CPU flags, the 
author is beginning at the begin- 
ning. To strengthen the learning 
process, each chapter ends with a 
series of exercises whose answers 
can be found in the appendices. 

Next come variables, and we're 
deeply involved in our subject, es- 
pecially novices with no previous 
assembly-language programming 
experience. Unfortunately, at 
this point, we're only 14 pages in- 
to the book. I started feeling early 
that we were rushing things. Even 
with my background I'd have 



liked a little more explanation. 

Much of the book discusses the 
various 8080/Z-80 instructions 
yet minimizes how to put them to 
use or even why you'd want to use 
them. Most of the "how" in- 
volves exercises that present pro- 
gramming problems and then use 
commented source listings as the 
answer. The information is all 
there, but I feel that the beginner 
will have trouble relating the text 
and the listings to the actual pro- 
gramming task. 

In all examples where it is ap- 
propriate, 8080, Zilog Z-80 and 
TDL Z-80 mnemonics are given. 
In many cases, 8080 program- 
ming equivalents to the more 
powerful Z-80 instructions are 

listed. 

The operation of all the in- 
structions discussed is displayed 
diagrammatically using symbols I 
am sure are well known to profes- 
sional programmers. These sym- 
bols are not as well known to 
computer hobbyists because they 
do not appear on most keyboards. 
Symbols such as #, < and ^ 
would have been more familiar to 
most of us if presented as <>, 
< = and > = . Several others, 
which I still don't know the 
meaning of, are used. 

The final chapter concerns sav- 
ing the programmer's time and 
saving processor time. Both are 
laudable goals. Structured pro- 
gramming is presented as the so- 
lution to the first problem, and 
reducing the number of processor 
cycles required to complete a task 
is advocated for the second. I 
agree in both cases but would 
have liked more discussion. As 
with the rest of the book, I felt 
that we were skimming along. 

Am I being too critical? I tried 
to take the author's word that this 
text was intended for the person 
without any previous assembly- 
language programming experi- 
ence. However, I don't think it is 
possible to teach a subject as 
complex as Z-80 programming 
from scratch in 102 pages. Add 2\ 
pages to list the 8080/Z-80 in- 
struction sets and 43 pages of ex- 
ercise answers, and you get 165 
pages. 

Z-80 & 8080 Assembly Lan- 
guage Programming claims to be 
ideal for self-study and for 
schools. I agree that everything 
necessary to program a Z-80 
microprocessor in assembly 
language is provided, and the 
book was worthwhile. I just think 
the material is covered too quick- 
ly and without enough practical 
application. 

Rod Hallen 
Tombstone AZ 



Microcomputing January 1980 9 




FIG'S 



SMALL SYSTEMS JOURNAL 



Introduction 



In this month's issue we will be concluding the multi-part series on Ohio Scientific's 
information management system, OS-DMS. Our objective in this issue is to give the 
reader a brief description of the final three information management systems: Inven- 
tory, Quotation/Estimation, and Testing/Tutoring which have not been shown in our 
previous articles. Like the past articles, this issue also contains several reports which 
were generated by these systems so that the reader might better understand the pur- 
pose of the system. 

OS-DMS QUOTA TION/ESTIMA TION SYSTEM 

The OS-DMS Quotation/Estimation Package, like the other OS-DMS modules, utilizes 
OS-DMS compatible master files and is specifically designed for a non-computer- 
oriented user. The system is designed to aid the businessman whose activities involve 
providing estimates or quotations as a part of his normal business proceedings. It pro- 
vides a quick and easy method of making these calculations with the ability to generate 
hard copies for further reference and customer presentation. The package also acts as 
a prompter by displaying each factor that was previously defined, reminding the user to 
consider each factor every time the program is run. 

Because the user establishes each file and record, he can perform either general or 
specific estimates. In the case of general estimates, the user would create a file con- 
taining all of his inventory and other items, tangible or intangible, needing to be con- 
sidered. Then, anytime a calculation would be needed, the user would be prompted by 
each item that was previously entered. That is, each item would appear on the screen 
before him for confirmation of use in that particular operation. 

For specific estimates, the user would create a file containing only the items 
necessary to perform that particular task. For example, a construction company would 
create files for building, landscaping, or demolition estimates. Or, the files may be 
broken down into even more specific functions such as building houses, building 
garages or building barns. These files may contain such things as materials, 
carpenter's wages, bricklayer's wages, operating expenses, transportation expenses, 
fees for permits and overhead expenses. 

Below is a copy of the Estimation System Menu. 

OS-DMS ESTIMATION 

Functions 

(1) CREATE NEW ESTIMATION FILE 

(2) EDIT ESTIMATION FILE 

(3) PERFORM ESTIMATION 

(4) ESTIMATION CHANGE AND/OR REPORT 

(98) OS-DMS FILE DIRECTORY 

(99) EXIT 

OS-DMS ESTIMA TION S YSTEM O VER VIEW 

The following is a short key to the programs on the menu. 
CREATE NEW ESTIMATION FILE 

This program allows the user to create new estimation files. The user specifies file 
names, passwords, and the number of records per file. All other specifications, such 
as the number of fields, the name of each field, and the maximum length of each 
field, are predefined. The system then creates and initializes the estimation file 
automatically. 
EDIT ESTIMATION FILE 

The Edit Estimation File program provides a means of modifying estimation files. 
The user may specify a record number, an exact entry, or a search 'string' to access a 
particular record. 
PERFORM ESTIMATION 

The Perform Estimation program permits the user to run estimates based on the 
items chosen for the estimate and the usage. Also, while performing an estimate, 
the user may update the estimate file with relevant changes. In addition, the user has 
the option of generating the estimate totals, an internal report, or a customer report. 
ESTIMATION CHANGE AND/OR REPORT 

This is a utility program which is capable of performing two basic functions. First, 
it allows the user to modify or correct a previously defined estimate. Then, after cor- 
recting the estimate, the user may run the corrected estimate without having to re- 
enter the specifications. 
OS-DMS FILE DIRECTORY 

The OS-DMS File Directory selectively lists OS-65U files. The user specifies the 
type of file(s) to display; the program scans through the OS-65U directory and prints 
out the specified file names. 



THE ESTIMA TION SYSTEM CAPABILITIES 

Because of its ability to perform several special functions, the Quotation/Estimation 
package can be cost justified by a businessman who performs frequent estimates for 
projects or products. These functions include the generation of hard copy reports, built- 
in edit features, reusable estimates, user specified options, and OS-DMS file com- 
patibility. However, a businessman who performs only two or three estimates a year 
would be better off performing the estimates manually and having his secretary type it. 

The following is a brief discussion on each of the functions mentioned above. 

1. The OS-DMS Estimation System has the ability to generate two types of hard copy 
reports: an internal report and a customer report. Generating hard copies of the two 
reports eliminates having to dictate the estimate form and figures to a secretary and 
having her manually type the report. 

2. There are three methods of editing the estimation files: 

a. During the initialization of each estimate (while running "Per- 
form Estimate") any given item or the prices representing that 
item may be modified. What this means is that instead of having to 
manually edit the estimation file, the user can update each entry while run- 
ning the estimate. 

b . After running an estimate, if for some reason the user decides that the 
estimate needs to be changed, updates can be made by running the 
"ESTIMATION CHANGE AND/OR REPORT" program. This program lets 
the user make the necessary changes and run the estimate again. 

c . The third type of editor is the OS-DMS Editor which allows manual edit 
functions at any time. The OS-DMS Editor is also the program that is used 
for the initial entry of data in the files. 

3. When running an estimate the user has two options that may be selected: 

a . The user may add a variance to the totals for each heading. If a variance is 

desired, the user also has the option of specifying the variance as an 

amount or as a percentage of the totals per heading, 
b . Secondly, the user must specify whether or not to display the profit margin 

on the customer report and, if so, whether to calculate it on the retail or 

the wholesale price. 

4. The OS-DMS Estimation System is compatible with the other OS-DMS modules. 
This common bond permits the user to link files, e.g., the estimation files to the inven- 
tory files. This compatibility enhances the estimation module considerably because it 
means that the OS-DMS Nucleus utilities can be used with the estimation programs. 



THE ESTIMA TION SYSTEM REPORTS 

This system produces three types of reports shown below: 

The Initial Entry Listing. This report indicates all of the inputs which were used to per- 
form a given calculation. 



.QUOTATION ESTIMATION... - (INITIAL ENTRY LISTING) 



MASONRY MATERIALS 






ITEM 

CEMENT 
5 

SAND 
2 

MM 
1 

ANCHOR BOLTS 
I 

WIRE REINFORCING 
51 

VARIANCE (Y OR N) Y 


WHOLESALE 
4.15 

251 


RETAIL UMT 
>.0O P» 50 LB BAG 

500 ATOM 


180 


1500 A TON 


to 

.95 


151 EACH 

2.08 PER SO .FT. 


B THE VARIANCE GOING TO K 




1) AN AMOUNT 

2) A PERCENTAGE 
1 






AMOUNT OF VARIANCE 

3 







LUMBER 



ITEM 


WHOLESALE 


RETAIL UNIT 


1x1 


01 


.05 pan. 


1x2 


.03 


.00 PER FT 


1x4 


.04 


.12 pan. 


100 






1x6 


05 


15 pan. 


1 






2x2 


.05 


.15 pan. 


2x3 


.06 


it pan. 


2x4 


08 


20 PER FT 


342 






2x1 


.09 


J5 pan. 


64 






2x1 


10 


.30 pan. 


2x10 


.12 


.35 pan. 


2x12 


.14 


.40 pan. 


4x4 


10 


.30 pan. 


4x6 


.14 


.40 pan. 


VARIANCE (Y OR N) N 





PlYWOOD 

IIIM 
11 INCH 
1/4 MCH 
3/8 INCH 



WHOLESALE RETAI UNIT 

7.40 9J0 A SHEET 4x8 

S.15 1000 A SHEET 4x1 

9.40 11J0ASHKT4x8 



Finally, the Customer Report is similar to the Internal Report, except that it does not 
display any of the wholesale numbers and the user must specify whether or not to 
display the profit margin on the report. If the profit margin is on the report, the user must 
also specify whether the profit margin should be calculated on the wholesale or retail 
cost and, unlike the Internal Report, the profit margin is displayed as a percentage. 



1/2 MCH 
SI INCH 
3 

3/4 MCH 

7 8 INCH 



10 55 12 00 A SHEET 4x8 

11.35 13 20 A SHEO 4x8 

12.10 1400 A SHEET 4x8 

13.85 1520 A SHEET 4x8 



SACKEK CONTRACTING INC. 

22413 S GROVE STREET 

TONKLE. NEW JERSEY 51227 

785-6641 



CUSTOMER REPORT 



PAGET 



The second report is the Internal Report. The Internal Report is a company-oriented 
report which contains the amount of usage for each item selected, the item, the 
wholesale and retail prices, how the unit is sold, the totals per item, and the final totals 
per heading. At the end of the report are the grand totals and the profit margin. The In- 
ternal Report is primarily for managerial personnel so that they can analyze it and 
decide whether or not the estimate is accurate and perhaps whether they should make 
a bid on the project. 



SACKER CONTRACTING INC 

22413 S GROVE STRUT 

TONKLE. NEW JERSEY 51227 

7154641 

INTERNAL REPORT 



DATE: 4 2279 ESTIMATE VALID UNTL 62279 

NAME: BOB LINDEN 

PROJECT: TOOL SHED 

DESCRIPTION: 6 FT WIDE 8 FT LONG & 7 FT UK* (BUID OUT OF WOOD) 

MISC. 

ESTIMATED TIME OF COMPLETION: 23 DAYS 



••RETAIL PRICE IS $104.30-. 

• •WHOLESALE PRICE IS $480.25- 

• •PROFIT MARGM IS $324.05- - 



PAGE1 



MASONRY MATERIALS 










USAGE 


ITEM 


WHOLESALE 


RETAI INNT 


WHSl TOTAL 


RETAIL TOTAL 


5 


CEMENT 


6.15 


8.00 PER 50 LB. BAG 


30.75 


40.00 


2 


SAND 


230 


5.00 A TON 


5.00 


10.00 


1 


GRAVEL 


8.00 


15.00 A TON 


8.00 


15.00 


t 


ANCHOR Ban 


.60 


1.50 EACH 


4J0 


12.00 


58 


WIRE REINFORCING 


.95 


2.00 PER SO. FT 


55.10 


116.00 




VARIANCE 


300 


3.00 


3.00 


3.00 








TOTAL 


106.65 


196.00 


LUMBER 












USAGE 


ITEM 


WHOLESALE 


RETAI UMT 


WHSl TOTAL 


RETAI TOTAL 


100 


1x4 


04 


12 PER FT 


4.00 


12.00 


8 


1x6 


.05 


.15 PER FT. 


.40 


1JI 


342 


2x4 


.08 


jo pan. 


27.36 


68.40 


66 


2x6 


.09 


25 PER FT. 


5.94 


1630 








TOTAL 


37.70 


9110 


PlYWOOD 












USAGE 


ITEM 


WHOLESALE 


RETAI UMT 


WHSl TOTAL 


RETAI TOTAL 


8 


34 8901 


9.40 


1120 A SHEET* % 


75J0 


89.60 


3 


51 INCH 


11.35 


13.20 A SHEET 4 - 8 


34.05 


39.60 








TOTAL 


10925 


129 JO 


LABOR 












USAGE 


HEM 


WHOLESALE 


RETAI UNIT 


WHSl TOTAL 


RETAIL TOTAL 


12 


CARPENTER 


10.40 


20.00 AN HOUR 


12480 


240.00 


4 


MANUAL LABORER 


8.60 


15.00 AN HOUR 

TOTAL 


34.40 
159 JO 


60.00 


M6C. MATERIALS 










USAGE 


HEM 


WHOLESALE 


RETAI UMT 


WHSl TOTAL 


RETAI TOTAL 


1 


TAR PAPER 


6.65 


8.40 A IOU 


6J5 


8.40 


3 


SHINGLES 


18.10 


21 JO A BUNDLE 


54.30 


63.60 


2 


MB 


325 


4.50 ALB. 


19 


9.00 








TOTAL 


67.45 


81.00 






DATE: 422 79 ESTIMATE VALID UNTL 62279 

NAME BOB LINDEN 

PROJECT: TOOL SHED 

DESCRIPTION: 6 FT WIDE. 8 FT LONG & 7 FT HIGH (BUILD OUT OF WOOD) 

MISC. 

ESTIMATED TIME OF COMPLETION: 2 3 DAYS 



MASONRY MATERIALS 
USAGE 
5 
2 
1 
8 
58 



LUMBER 



USAGE 

100 

8 

342 

66 



ITEM 
CEMENT 
SAND 
GRAVE 
ANCHOR BOLTS 
WIRE REINFORCING 

VARIANCE 



ITEM 
1x4 
1x6 
2x4 
2x6 



PlYWOOD 



USAGE 

8 
3 



LABOR 

USAGE 
12 

4 

MISC. MATERIALS 
USAGE 

1 
3 
2 



ITEM 
31 MCH 

51 INCH 



ITEM 
CARPENTER 
MANUAL LABORER 



ITEM 
TAR PAPER 

SHINGLES 
HAILS 



COST UNIT 

8.00 PER 50 LB. BAG 
5.00 A TON 
15.00 A TON 
130 EACH 
2.00 PER SO. FT. 
3.00 



COST UMT 

.12 PER FT. 

.15 PER FT 

JO PER FT. 

J5 PER FT 



COST UMT 

1120 A SHEET 4 -8 

13J0 A SHEET 4x8 



COST UNIT 
20.00 AN HOUR 
15.00 AN HOUR 



COST UMT 
8.40 A ROU 
21 JO A BUNDLE 
430 ALB. 



TOTAL 

40.00 

10.00 

15.00 

12.00 

116.00 

3.00 

FMAl TOTAL 

TOTAL 
12.00 
120 
68.40 
1630 
FMAl TOTAL 

TOTAL 
8960 
39.60 
FMAl TOTAL 

TOTAL 
240.00 
60.00 
FMAl TOTAL 

TOTAL 

8.40 

63.60 

9.00 

FMAl TOTAL 



196.00 



9810 



129 JO 



300.00 



81.00 



..ESTIMATED PRICE IS $804.30- 
..PROFIT MARGM IS 40.28V • 



OS-DMS TESTING/TUTORING SYSTEM 

Today, the educational challenge is great! That is why instructors are constantly 
searching for learning aids and better methods of teaching. Instructors have found that 
if some types of audio-visual aids are used, students tend to learn more quickly and 
easily. Examples of such aids are slides, films, field trips and, the newest and latest 
audio-visual aid, the computer. 

With our ever-growing technology, scientists are constantly discovering new tasks 
the computer can perform. The computer promises to turn the day to day operations in- 
to a lifetime learning process. 

To aid the teacher in the classroom, Ohio Scientific has developed the OS-DMS Educa- 
tional System. It is designed to allow a teacher who is not trained in the use of a com- 
puter to quickly and efficiently set up a quiz or tutorial session, have the students do the 
required work on the computer, and then give the student a grade and record the grade 
automatically. Additionally, it allows the teacher to define practically any type of test or 
lesson desired, depending on the program specifications defined. 



OHIO SCIENTIFIC 1333 S. Chillicothe Road • Aurora, Ohio 44202 • (216)562-310 



The OS-DMS Educational System is obviously not a business package, but it could 
possibly be tied in with our business applications. For example, a school could pur- 
chase the Educational System to be used by all the instructors as an aid in tutoring and 
giving quizzes. If the Educational System seemed to be a success with the students 
and the instructors, the school could then purchase the Account Payable/Receivable, 
Personnel, General Ledger, and possibly the Inventory system. By setting up model ac- 
counts and companies on these systems, the students in the business courses such as 
general business, bookkeeping, accounting, etc., can get first-hand experience in real 
life situations. Because the OS-DMS modules are systems that are written for real life 
applications, the school could additionally use these systems for their own purposes. 

The following is a copy of the Instructor's Menu: 

OS-DMS EDUCATIONAL SYSTEM 
Function s 

(1) CREATE A GRADE FILE 

(2) CREATE A QUIZ OR TUTOR FILE 

(3) REVISE A QUIZ OR TUTOR FILE 

(4) REVIEW A GRADE FILE 

(5) SCORE CONFIRMATION 

(6) DMS FILE DIRECTORY 

(98) RETURN TO THE STUDENT MENU 

(99) EXIT 



OS-DMS EDUCA TIONAL OVER VIEW 

The following is a short key to the programs on the Instructor's Menu 
CREATE A GRADE FILE 

This allows the instructor to create Grade Files. The Grade File contains the name of 
each student, student number, the total number of possible points for each quiz, the 
number correct and the number incorrect. The instructor specifies the device the file is 
to be stored on, the file name, the password, and the number of students to be included 
in the file. 
CREATE A QUIZ OR TUTOR FILE 

Before a quiz or tutor can be written, the instructor must create Quiz or Tutor files. 
The Quiz and Tutor files are similar except that the first letter of a quiz must begin with a 
"Q" and the first letter of a tutor must begin with a "T". Both contain the questions, the 
answer to each question, two miscellaneous fields and the points that each question is 
worth. The instructor specifies the device the file is to be stored on, the file name, the 
password, whether this is a Quiz or Tutor file, the number of questions, and the max- 
imum number of lines to reserve for each question. 
REVISE A QUIZ OR TUTOR FILE 

This program provides a means of editing Quiz and Tutor files. It also has other built- 
in features such as the ability to generate a hard copy of a quiz or tutor, allowing the in- 
structor to erase an entire Quiz or Tutor file and permitting him or her to set certain 
specifications for a Quiz or Tutor file. 
REVIEW GRADE FILE 

This program provides editing features, permits easy retrieval of student scores, has 
the ability to append and delete students, and can generate a printed listing of all the 
students and their scores. 
SCORE CONFIRMATION 

After the deadline for taking a quiz has passed, the instructor is required to run this 
program. This program looks in the Grade File to see what students have not taken the 
quiz. Whenever a student does not have a score recorded for the latest quiz, the pro- 
gram gives that student a zero for the quiz score, and displays a list of the students who 
did not take the quiz. 



Note: 

A Tutor file established for Structured Learning must pertain to one particular topic 
throughout the file; the program randomly selects three answers from any question in 
the file. If the file does not pertain to a particular topic, the three answers selected may 
not relate with the question. 

2. Select the Input/Output (I/O) device. 

If a line printer is available, the instructor has the option of generating a hard copy of 
the questions, the student's answers and the student's score. The purpose for 
generating a hard copy of the tutor is to supply the student with a study sheet as a 
review for finals or to give the instructor written results of how much his students have 
remembered from a past quiz or lesson. 

3. Specify whether or not the student should have a second chance to answer each 
question correctly. 

4. Specify whether or not the student should be told the correct answer after the 
question has been answered incorrectly. 

5. Specify whether the student should be shown the score. 

6. If a Level III machine is available, the instructor may specify a time limit for the 
tutor. 

QUIZ 

Like tutors, quizzes also can be written and used in a variety of ways. Because of this, 
the quiz program also has several built-in features. Unlike the tutor, however, when a 
quiz is being run, the program automatically checks if the student taking the quiz has 
taken it before. It also checks to see if the student number exists. If the student has 
taken the same quiz before or the student number does not exist, the program will in- 
form the student that he cannot take the quiz and will exit the system. Also, after a quiz 
has been taken, the program automatically writes the student's score in the student 
grade file. 

The operational decisions to be made by the instructor when setting up a test are as 
follows: 

1. Select the Input/Output (I/O) device. 

Since the student's answers to individual questions are not recorded anywhere, the 
instructor might want to generate a hard copy of each student's quiz. Later, after the 
quiz, the instructor could distribute the quiz papers and go over the questions with the 
students. 

2. Specify whether to display the questions randomly or sequentially. 

This feature helps eliminate possible cheating by students. If the questions are 
scrambled for each student, the passing of answers would be useless unless the stu- 
dent wrote down each question and the answer to it. 

3. Specify whether the student should be shown his score. 

4. If a Level III machine is available, the instructor may specify a time limit for the 
quiz. 

THE OS-DMS IN VENTOR Y CONTROL S YSTEM 

The OS-DMS Inventory Control System is an automated computer system designed 
to provide the end user with specific information concerning the current status of the 
inventory. This system is menu oriented so only minimal computer knowledge is need- 
ed. 

There are three sub-systems which make up the Inventory Control System: the Inven- 
tory System, the Purchasing System, and the Bills of Material System. These sub- 
systems were designed to run independently or in an integrated mode. If a particular 
end user is using all three systems, data may be passes from one to the other. This 
allows the end user to slowly integrate computerized operations into the business 
without sacrificing the benefits of integrated business software. 
INVENTORY SYSTEM 

The Inventory System enables the inventory control clerk to accurately keep track of 
the current inventory levels and value. This is accomplished by providing the functions 
shown on the following menu: 



THE EDUCA TIONAL SYSTEM CAPABILITIES 

The OS-DMS Educational System was designed to assist instructors in two primary 
areas of teaching: tutoring and testing. Both have several special built-in features 
which make the Educational System quite unique. Since all instructors do not give 
tutors and quizzes in the same fashion, these features are essential because they allow 
the teachers to individualize their lessons and quizzes. 

The following is a brief discussion on each of the features for a tutor and a quiz 
TUTOR 

Tutors can be used for a wide variety of applications. Some instructors might use the 
tutoring program to assist those students that are having difficulty in their classes, 
others might use it to test one's knowledge and others as a review for finals. 

The operational decisions to be made by the instructor when setting up a tutorial ses- 
sion are as follows: 

1. Specify whether or not Structured Learning should be used. 

Structured Learning is a tutoring program specifically designed to use multiple 
choice and/or matching questions. Structured Learning reviews any particular topic: 
i.e., the capital of each state or the presidents of the United States. The program begins 
by displaying the first question with four possible choices. If an incorrect answer is 
chosen, the program will tell the student why the answer he chose was wrong and will 
ask the same question again. This process will continue until the question is answered 
correctly. 



OSOMS IMVEMTORY MENU 

(1) CURRENT QUANTITY IN STOCK REPORT 

0) INVENTOftY USAGE STATUS REPORT 

(3) REORDER REPORT 

(4) CURRENT INVENTORY VALUE REPORT 

(5) ARCHIVE INVENTORY REPORT 

(6) GENERAL CONDnTONAL INVENTORY REPORT 

(7) ORDER ENTRY 
(I) STOCK CHECK 

(9) RBffVE OR SHV ITEMS FROM INVBfTORY 

(10) RECEIVE ITEMS INTO INVENTORY 

(It) UPDATE CURRENT QUANTITY M STOCK VALUES 

(12) GENERAL INVENTORY BUT 

(13) SET A REORDER LEVA 

(14) SET AN AVERAGE USAGE 

(15) ALPHABETIZE INVENTORY RECORDS 

(16) COPY OR BACKUP DISKETTES 
(99) EXIT 



I 



These functions can be divided into three areas: the report writers, the day to day 
operations, and the maintenance functions. 

The report writers are used to inform management of the status of the inventory. The 
Inventory Usage Status Report provides detailed information such as average weekly 
usage, weeks on hand and weeks on order for each inventory item. The Inventory Value 
Report calculates the current value of the inventory using the average unit costs. A 
general report writer is included to handle the occasional reports that are requested. 

The day to day operations such as stock checks, entry of received goods and inven- 
tory adjustments have been optimized for maximum speed and accuracy. A record is 
made of all input transactions to aid in the correction of input errors. The order entry 
program will mark items ordered and generate an invoice. 

The maintenance functions allow the end user to make copies of the inventory data 
in case an error occurs, and to keep the inventory master file in alphabetical sequence. 
Again, the programs prompt the user with simple, easy to understand instructions. 

Throughout the OS-DMS business systems, the amount of computer knowledge the 
operator needs has been kept to a minimum. This means that any person capable of 
performing the same business task manually will be able to use this software with 
minimal instruction. 

There are several features that help make this Inventory System useful to the small 

businessman. 

The system maintains an average weekly usage for all items in the inventory. When a 
stock check is performed, the computer provides a detailed description of the item's 
current status. The average weekly usage is used along with the quantity in stock and 
quantity on order values to obtain weeks on hand and weeks on order figures. The cur- 
rent average unit cost is used to determine the value of the inventory. With this data, the 
inventory clerk has a more informative picture of the state of inventory than a simple 
quantity in stock report or a reorder report. 

PURCHASING SYSTEM 

The Purchasing System keeps track of the open purchase orders for inventory items. 
The purchasing clerk can quickly determine if a particular part is on order and, if so, 
with which vendors. The Overdue Order Age Analysis will list the purchase orders that 
are overdue. The Outstanding Order Age Analysis will list all currently outstanding pur- 
chase orders. 

If a particular end user has the Inventory System and the Purchasing System, they 
may be integrated. Each system will remain independent in that minor changes to the 
operation of the Purchasing System will not interfere with the Inventory System. The 
Purchasing System is capable of posting the quantity on order for each item into the In- 
ventory System. With these figures, the Inventory System can generate an inventory 
value report with the dollar value on order for each part. When a part is received by the 
receiving clerk and entered into the Inventory System, the Inventory System increments 
the quantity in stock field and decrements the quantity on order figures. 

IMVENTORY SYSTEM 



Legend 

A - Finished Product 
B - Subassembly 
C - Components 



OS-DMS PURCHASES MENU 

(I) PURCHASES MASTER UPDATE 

Q) Nil DISPLAY PURCHASES JOURNAL 

(3) COMPUTE PURCHASES MASTER DUMP 

(4) CONDITIONAL PURCHASES MASTER DUMP 

(5) PURCHASES MASTER EDIT 

(6) PRINT AGE ANALYSIS- OVERDUE ORDERS 

(7) PRINT AGE ANALYSIS- ALL OUTSTANDING ORDERS 

(8) CREATE NEW PURCHASES MASTER FIE 

(9) PRINT PART NUMBER LIST 

(10) BACKUP PURCHASES MASTER FIE 

(II) EXIT PURCHASES SYSTEM 



BILL OF MATERIAL AND EXPLOSION FUNCTIONS 



(1) INTRODUCTION. 

(2) EXPLOSION INPUT FUNCTIONS. 

(3) EXPLODE ITEMS ALREADY ENTERED 

(4) EXPLOSION OUTPUT FUNCTIONS. 

(5) LIST ALL SUBASSEMBLIES THAT CAN BE EXPLODED 

(6) LIST A BILL OF MATERIAL FOR A SUBASSEMBLY. 

(7) CREATE A BILL OF MATERIAL FILE. 

(8) EDIT A Bill OF MATERIAL FIE. 

(9) DELETE A Bill Of MATERIAL FIE 

(10) CREATE A COPY OR BACK UP A DISKETTE 



! 



BILLS OF MA TERIAL SYSTEM 

The Bills of Material System allows for the creation, modification and deletion of bills 
of material for inventory subassemblies as well as the automatic breakdown of sub- 
assemblies into their component parts. The functions are selected through a menu 

system. 

Before a part breakdown or explosion can be run, the end user must enter a bill of 
material for every item that can be broken down. Once these bills have been entered, 
the end user can have the computer break down finished goods and subassemblies in- 
to their component parts. The maximum number of levels of breakdown or explosion for 
a particular item depends on the number of levels in the bills of material for that item. 
For example, a particular business manufacturer's television set has twenty sub- 
assemblies itemized on its bill of material. If each of the twenty sub-assemblies has a 
bill of material, the system can do a two-level breakdown. It is common to have another 
bill of material for most or all of the items on each of the sub-assemblies' bills of 
material. This would permit the system to perform a three-level breakdown or explo- 
sion. This can be expanded to whatever depth the end user desires. The following is a 
multi-level breakdown. 




When a part breakdown is finished, the end user can direct the computer to either in- 
crement or decrement an inventory file with the results of the breakdown or print the 
results in alphabetical order on the terminal or printer. This system provides a means of 
tracking inventory items that cannot be easily counted manually. The weekly shipping 
list can be broken down or exploded into raw inventory components. These figures 
could be used to adjust the quantity in stock figures for those items. 

The Bills of Material System can be integrated into the Inventory Control System. 
When a bill of material is being printed, the end user has the option of having the com- 
puter look at the inventory file for the description and the latest average unit cost for 
each component on the bill. This means that the bill of material will have the latest and 
most accurate description and price. This eliminates the need for the double entry of 
data when the cost or description changes. 



EXPLOSION FIE DUMP 



PAGE: 1 



PART NUMBER: CA-6CP 

DESCRIPTION GENERAL PURPOSE 10-MEM0RY BOARD 



PART NUMBER QUANTITY DESCRIPTION 



TOTAL COST 



PC 61 1 ACCESSORY BOARD 

SC-12MM 2 12 PIN MA MOLEX PLUG 09-64-1121 

SC 16FI 10 16 PIN INTEGRATED CIRCUIT SOCKET 

SC-18EI 48 18 PIN INTEGRATED CIRCUIT SOCKET 

SC 24FI t 24 PIN INTEGRATED CIRCUIT SOCKET 

SC-40TI 3 40 PIN INTEGRATED CIRCUIT SOCKET 

0151 2 150 Pf 

C 102 2 .001 Iff. 

0506 2 50 ME. 

CB-10410 39 .1 ME. BYPASS 10 VOLT 

R1102 4 IK OHMS 1/4 WATT 5% 

R1-221 12 220 OHMS 14 WATT 5% 

R1-391 12 390 OHMS 1/4 WATT 5% 

R1-471 8 470 OHMS 1/4 WATT 5% 

R1-472 2 4.7K OHMS 1/4 WATT 5% 

RP 103 4 10K OHMS TRIMMER POT. 

IC74LSO0 1 TTl 

IC74LS04 2 TTl 

IO741S02 1 TTI 

K74LS10 1 TTl 

IC-7417 4 TTl 

IC-74LS20 1 TTl 

10741593 1 TTl 

1074123 2 TTl 

IC741S13S 4 TTl 

K741S390 3 TTl 

IC-8T28 2 BUFFER 

IC8T95 3 BUFFER 

IC-68B50 1 PIA 

IC-68B21 1 PIA 

10121 14-550 32 RAM 

HW SP.75 4 PIAS SPAC. 3/4 L SMITH 4167 

HW WAN 8 NYLON WASHER HH SMITH 2673 

HWS632125 4 SCREW 11/4 x 6-32 

W-406J 1 40 C0HD 6 L Fl CA JUMP AP PROD 

W-1ST18 1.FT. 1 CONDUCTOR STRANDED 18 GA. 

S03FC 1 3 PIN Fl MOLEX CON 03419 1032 

S01FTM 2 FEM. TERM/MOL. 024)91118 

SC-1MTM 2 MALE TERM. M01 024)92118 



16.42 
27 
120 
6.96 
.18 
.89 
.10 
.14 
.16 
1.70 
.04 
.12 
12 
.08 
.02 
164 
21 
33 
.16 
.14 
.76 
23 
26 
64 
1.40 
213 
162 
189 
4.00 
4.00 
116 JO 
.12 
.09 
.04 
452 
.03 
.05 
.02 
02 



SUMMATION OF TOTAL COSTS USING CURRENT INVENTORY AVERAGE UNIT COSTS = 169J0 



SUMMARY 

The OS-DMS Inventory Control System is comprised of three independent sub- 
systems: the Inventory System, the Purchasing System, and the Bills of Material 
System. These systems may be run in an independent or integrated mode depending on 
the degree of sophistication the end user desires. The overall system is flexible enough 
that it can be implemented in stages to allow the end user time to adjust to computer- 
ized business methods. These three systems, when combined with the other OS-DMS 
business packages, represent a major step in the development of efficient, easy to use 
microprocessor-based business software. 



OHIO SCIENTIFIC 1333 S. Chillicothe Road • Aurora, Ohio 44202 • (216)562-3101 



DET-POURRI 



Robert W. Baker 



This is my first issue as author 
of the PET-pourri column; I 
hope to continue providing inter- 
esting and useful information on 
the PET. With only a week to as- 
semble this first installment, I 
didn't have enough time to gather 
much information on new prod- 
ucts. By the next issue, I hope to 
find more products to review, or 
at least be able to provide more 
information. 

I've been requested to review 
more programs and hardware ac- 
cessories for the PET whenever I 
can acquire them for evaluation. 
Since most PET owners still buy 
via mail order, I'll try to provide 
as much information as possible 
on each product I learn of or try 
on my own system. This should 
make it easier to choose the items 
of greatest interest for your par- 
ticular system. It has been sug- 
gested, however, that I avoid re- 
viewing game programs unless 
they are extraordinary. 

I'll also try to include program- 
ming tips and ideas that I feel 
may be of value. If you'd like to 
share any of your own program- 
ming tricks or newfound secrets 
of the PET operating systems, I'd 
be happy to hear from you. I have 
one request: Please enclose an 
SASE if you expect a reply. All 
mail should be addressed directly 
to me and not through the maga- 
zine to avoid forwarding delays. 



New Products 
and Publications 

A new printer manufactured 
by Shinshu Seiki is available for 
the PET, and it appears similar to 
the Commodore printer. The 
Model TX-80 dot-matrix impact 
printer operates at 150 characters 
per second. It is available with 
friction feed or tractor feed and 
uses standard paper, four to ten 
inches in width. With 80 charac- 
ters per line, double-size charac- 
ters and PET graphics, it ap- 
peared to be a nice unit when dis- 
played at PCC '79 in Philadel- 
phia last fall. The printer has 
been advertised under several 
names and at varying prices, but 
lists for about $900 with tractor 
feed and all interface cables for 
the PET. 

If you have an 8K PET and still 
haven't replaced your small key- 



board, I suggest you check the ar- 
ticle in the October 1979 issue 
(page 82) on the keyboard from 
Century Research & Marketing. 
Having used one for several 
months, I've discovered I like the 
keyboard with the molded-in 
graphics and expanded numeric 
pad. 

The PET Gazette has become a 
full-size, bimonthly magazine 
called Compute, the Journal for 
Progressive Computing. The 
magazine is divided into four sec- 
tions: 

• 6502 section with articles of in- 
terest to everyone with a 6502- 
based machine. 

• Business and industrial appli- 
cations. 

• Educational guide to teachers. 

• Gazettes for each "special" 
machine, including the PET, Ap- 
ple, Atari and single-board com- 
puters (SBCs). 

Mail-order subscriptions are $9 
per year, and the magazine is 
published by Small Systems Ser- 
vices, Inc., 900 Spring Garden 
St., Greensboro NC 27403. The 
sample issue distribued at PCC 
'79 was impressive; hope they 
keep up the good work. 

Both Instant Software, Peter- 
borough NH, and New England 
Electronics (NEECO), 679 High- 
land Avenue, Needham MA 
02194, have been distributing 
new catalogs. If you haven't re- 
ceived one yet, I suggest you write 
for one soon. NEECO's General 
Ledger program is available; I 
hope to have details on it in time 
for the next issue. 



What About 

the Axiom Printers? 

Although the Axiom electro- 
static printers for the PET have 
been available for over a year, 
there has been very little mention 
of these printers in most PET 
publications or columns. Two 
models of interest to PET owners 
offer uppercase and lowercase al- 
phanumerics as well as all PET 
graphics. The EX-801 PET mod- 
el is a general-purpose printer, 
while the EX-820 PET model 
provides true reproduction of the 
PET graphics by eliminating ex- 
tra spacing between printed lines, 
as occurs on the EX-801. The 
small, quiet printers have a print 



speed of 120 lines per minute. 
They were designed to require a 
minimum of maintenance, and 
the printhead should last for one 
to two million lines of printing. 
This is roughly equivalent to 
about 140 rolls of paper; a re- 
placement printhead is available 
for $45. 

The printers provide functions 
that are selected using various 
control characters as follows: 
LIST MODE, CHR$(9) — 

All cursor controls are printed 
as shown on a normal screen list- 
ing. This is the mode selected au- 
tomatically at power-on or on- 
line and is used for printing BA- 
SIC program listings. 
PRINT MODE, CHR$(8) — 

All output is printed as it would 
be displayed on the screen during 
program execution. Cursor right 
and SPC commands produce 
printed spaces, while other cursor 
controls are ignored. TABs and 
number formatting using the 
comma may not produce correct 
results. 
40 COLUMN, CHR$(12) — 

Selects 40-column printout, 
which is normally selected auto- 



matically at power-on. 

80 COLUMN, CHR$(11) — 

Selects 80-column printout un- 
til 40-column printout is re-se- 
lected. Character sizes may be in- 
termixed in any combination on a 
line however desired by switching 
back and forth between the two 
sizes. 
GRAPHICS, CHR$(15) — 

Prints PET graphics and up- 
percase letters providing printout 
compatible with the POKE 
59468,12 mode on the PET. 
LOWERCASE, CHR$(14) — 

Prints lowercase alphabetic in 
place of graphics the same as a 
POKE 59468,14 on the PET. 
Character types may be inter- 
mixed on a line by switching 
modes back and forth if graphics 
are desired along with uppercase 
and lowercase letters. 
BELL, CHR$(7) — 

Sounds the internal buzzer for 
1/4 second when the line is 
printed containing this control 
mode. 

Two other control characters 
are listed in the manual to turn 
the loudspeaker on and off for di- 
rect program control of sound ef- 



19 REM TAPE HEX DUMP PROGRAM 

20 REM BY: ROBERT U. BAKER 

39 REM 

40 REM DISPLAYS A HEX DUMP OF 
50 REM TAPE DATA FILES. 

60 : 

70 H*="0123456789ABCDEF" 

80 PRINT'^TAPE HEX DUMP" 

90 PRINT:PRINT:PRINT M HIT ANY KEY TO" 

108 PR I NT "HOLD/CONTINUE THE DISPLAY." 

110 PRINT:PRINT"HIT 'D' MHEN DONE TO" 

120 PRINT-STOP BEFORE END OF FILE." 

130 PRINT:PRINT 

140 OPEN 1 

158 S$= M 

160 PRINT"UTAPE HEX DUMP" : PRINT: PRINT 
170 B=0:GOTO 250 
188 GET#1,C$ 
190 IF ST <> THEN 320 
200 A=ASC<C*>:A1 = INT<A/16> 
210 PRINT MID*<H*,A1+1,1); 
220 PRINT MID*<H$,A-<A1*16>+1,1 >;" M ; 
230 B=B+1 

240 IF INT<B/10) <> B/10 THEN 278 
250 PRINT 

260 PRINT RIGHT$<S*+STR$<B>,5>": "j 
GET C*:IF C*=" H THEN 188 

THEN 328 

C$=" " THEN 298 

THEN PRINT: END 



278 
288 
290 
300 
310 
320 



IF C$="D" 
GET C$: IF 
IF C$="D" 
GOTO 180 
PRINT:PRINT:PRINT U ST =" 



;ST 



Listing 1. Tape hex dump program. 



14 Microcomputing January 1980 



fects. 

I've not been able to make this 
work, and no information is pro- 
vided on how to use the controls. 
The printers do provide automat- 
ic printing on the reception of the 
81st, 41st or equivalent character, 
depending on the line characteris- 
tics. 

The IEEE interface board 
mounts on the back of the PET at 
the IEEE bus connector with a 
ribbon cable connected to the 
printer. The interface board pro- 
vides a true IEEE bus connector 
in addition to reproducing the 
IEEE edge connector of the PET 
for other Commodore products. 
The printer is connected via the 
IEEE interface but will recognize 
any device address on the IEEE 
bus. This was probably done to 
eliminate the costly circuitry to 
recognize a specific device ad- 
dress on the IEEE bus and keep 
the printer cost at a minimum. 
However, a switch on the front 
panel of the printer does allow the 
user to put the printer on or off 
line to avoid this problem of 
recognizing all bus addresses. 

Two other switches on the 
printer provide manual paper 
feed and a built-in self-test mode. 
When the printer runs out of pa- 
per, the bell will sound continu- 
ously and all printing will stop. 

Having used an EX-801 for 
over six months now on my own 
system, I've been impressed by 
the print quality and the printer 
reliability. Having the capability 
of producing true listings of BA- 
SIC programs with all cursor con- 
trols shown has saved many 
hours of work on several occa- 
sions. My only dislike is the 5 1/2 
inch wide electrostatic paper that 
costs about $6 per roll and can be 
hard to find on occasion . . . 
probably the major drawback of 
this type of printer. However, a 
300-foot roll of paper usually 
lasts for well over a month on my 
system, even with very heavy use. 
If the impact printers are too 
expensive for your current bud- 
get, but you definitely need a 
printer, you should consider the 
$495 EX-801 Axiom printer, with 
the ability to get true program 



Connector pin Wire color Joystick function (switch) 



listings compared to other low- 
cost printers that do not print all 
PET graphics. If you do decide to 
get an Axiom printer, make sure 
you get a model designed for the 
PET with the IEEE interface. 
Axiom markets a complete line of 
printers, and the PET models 
have a special internal ROM in 
addition to the IEEE interface to 
provide all the particular features 
for the PET. 



Programming 
Ideas and Tips 

If you are experimenting with 
tape data files, this simple pro- 
gram (Listing 1) can help display 
the exact contents of any data 
file. It reads the file byte-by-byte 
and displays the hexadecimal 
value of each byte in the file, in- 
cluding all separator and control 
characters. The display will list 
ten bytes per line with a byte 
count indicated in the left col- 
umn, which makes it extremely 
easy to determine the exact for- 
mat of any data file. 

Machine-language programmers 
might be interested in the follow- 
ing two routines that are con- 
tained in the older 8K PET oper- 
ating system. I plan to check 
where these routines are located 
in the new operating system in the 
near future. I should be getting 
my new ROM set any day. 
Block Move: This routine will 
move the contents of a contigu- 
ous block of memory locations 
from one area of memory to a 
new area of memory. The routine 
starts at hex location $C2E1 
(49889 decimal) and uses the fol- 
lowing pointers in low memory, 
which must be set prior to calling 
this subroutine. 



Joystick Control #1 



1 
2 
3 
4 
5 
6 
7 
8 
9 



***no connection*** 

Brown Right 

Green Left 

Blue Bottom 

White Top 
***no connection*** 

Black (switch common) 

***no connection*** 

Orange Button 



Joystick Control #2 



$A9 = hex $E8 (232 decimal) 
$AA = hex $83 (131 decimal) 

$AE = hex $00 

$AF = hex $80 (128 decimal) 

$A7 = hex $00 

$A8 = hex $20 (32 decimal) 



. . top address = hex $83E8 



(33768 decimal) 



. bottom address = hex $8000 

(32768 decimal) 

. new top address = hex $2000 

(8192 decimal) 



1000 byte 
display RAM 
to be saved . 




$83E8 (33768 decimal) 

= top of area to be saved + 1 



$8000 (32768 decimal) 

= bottom of area to be saved 



1000 byte area 
to save display 
RAM 



$2000 (8192 decimal) 
= top of new area + 1 



bottom of new area, new area same 
length as the old area 



Example 1. 



Hex locations $A9 and $AA 
(169 and 170 decimal) contain the 
address, plus one, of the last byte 
to be moved, the upper limit of 
the old area. Hex locations $AE 
and $AF (174 and 175 decimal) 
contain the address of the first 
byte to be moved, the lower limit 
of the old area. Hex locations 
$A7 and $A8 (167 and 168 deci- 
mal) contain the address, plus 
one, of the last byte to be moved 
to, the upper limit of the new 
area. All address pointers are in 
the standard format of the low 
byte of the address first then the 
high byte of the address. 

As an example, suppose you 
wanted to move the 1000 bytes of 
the display RAM into the top of 
your 8K program RAM to save 
the data for some reason. Before 



Orange (9) 



Brown (2)l 

Green (3). 

Blue (4). 

White (5). 



(button) 



Black (7). 



Black (7). 



Brown (2). 
Green (3). 



Blue (4)_ 
White (5), 



Orange (9), 



o 



(button) 



Joystick connector wiring and inter/ace to PET user port. 



calling the block move subroutine 
you would set the pointers as 
shown in Example 1 . 
Search for a BASIC Line Number: 

This routine will search through 
all the lines of a BASIC program 
in memory looking for a specific 
line number. The line number to 
be found must be placed in loca- 
tions 8 and 9 prior to calling this 
subroutine at hex location $C522 
(50466 decimal). The line number 
is stored in standard address for- 
mat, low byte first. On return 
from the subroutine, the proces- 
sor carry bit will indicate whether 
the line number was found or not. 
The carry bit will be clear (0) if 
the line was not found. If the line 
was found the carry bit will be set 
(1) and hex locations $AE and 
$AF (174 and 175 decimal) will 



User Port 


User 


Connector Pin 


Port 




Connection 



,C (right) 
,D (left) 
, E (bottom) 
.F (top) 



PA0 
PA1 
PA2 
PA3 



1,11,12. A or N System ground 



H (right) 


PA4 


J (left) 


PA5 


K (bottom) 


PA6 


L (top) 


PA7 



Microcomputing January 1980 15 



contain the address of where the 
line is located in memory. 

This routine can then be used 
to create self-modifying pro- 
grams, store data within a pro- 
gram DATA line or delete pro- 
gram instructions. I hope to cover 
some of these fancy program 
tricks in future columns. They're 
quite easy once you've tried them. 






Simple Joystick Interface 
for the PET 

Cursor magazine is providing 
some of the best software for the 
PET, with some very fancy games 
currently available. Now that 
they are providing more pro- 
grams that use joysticks, you may 
want to add a pair to your system 
to take full advantage of these 
new programs. Cursor's pro- 
grams are designed to work with 
all three of the dual Atari joystick 
adapters currently available from 
Coyote Electronics, Box 101, 
Coyote CA 95013; Creative Soft- 
ware, Box 4030, Mountain View 
CA 94040; Chuck Johnson, 17104 
Via Alamitos, San Lorenzo CA 
94580. 

If you'd rather construct your 
own interface, the joysticks can 
be ordered directly from Atari. 
Sears Roebuck and Co. lists them 
on page 651 of their Christmas 
Catalog at $9.95 each (catalog 
#6C99835). The accompanying 
diagram shows a simple interface 
to connect two joysticks to the 
PET user port. The joysticks 
come with a 9-pin subminiature-D 
connector at the end of the con- 
necting cable. Mating connectors 
are rather expensive and may be 
hard to find. You may want to 
cut these connectors off and wire 
the joysticks directly to your user 
port connector. The diagram 
shows both the connector pin 
number and the internal wire col- 
or for whichever scheme you 
choose to use. 

The interface simply connects 
each switch to a separate input 
tine of the user port. The joystick 
button is then connected to the 
TOP and BOTTOM switches, us- 
ing two diodes to isolate the three 
switches. This combination pro- 
vides a unique 4-bit code at the 
user port for each joystick posi- 
tion. I haven't been able to com- 
pare this interface with those 
commercially available, but it 
does work well with the Cursor 
programs. 

Please address any correspon- 
dence to: Robert W. Baker, 15 
Windsor Drive, Atco NJ 08004. 



COMPUTER CLINIC 



The Craig County Virginia 
Public Schools have recently 
placed Level II TRS-80s in pilot 
programs in both elementary and 
secondary schools. These ma- 
chines are being used with com- 
puter-assisted instruction (CAI) 
and educational programs. Be- 
cause of an apparent scarcity of 
CAI programs, K-12, school per- 
sonnel and advanced secondary 
students are developing such pro- 
grams. This process is slow, how- 
ever, when the ultimate objective 
is to offer CAI in a variety of sub- 
jects at all grade levels. We would 
be glad to contact schools and/or 
individuals interested in exchang- 
ing programs they have devel- 
oped. 

Earl R. Savage 
Craig County Public Schools 

PO Box 245 
New Castle VA 24127 



I have a terminal of unknown 
origin (CRT, power supply, 
boards and keyboard). The only 
identification I can find is a label: 
BA Sanders Associates, Inc., 
Data Systems Division, Model 
722-1 FI, Serial #ED0170, NFPA 
Type II. Does anyone out there 



know where I can get schematics, 
documentation, etc? I will reim- 
burse postage for all replies. 

Kendall Stambaugh 

5009 Guide Meridan 

Bellingham WA 98225 

I am trying to find a battery 
backup for the S-100 bus. I need 
one already built; however, a set 
of plans will work as well. 

Byron E. Parrish 

Clipper Trading Co. 

1718 Santa Fe Trail 

Grand Prairie TX 75051 



A friend and I are each buying 
PETs with factory auxiliary cas- 
sette tape storage. Over the years, 
we have written BASIC programs 
to run with our machines. The 
problem is that we cannot figure 
out how to efficiently convert our 
OS Partitioned Data Sets into 
cassette tapes to load into our 
PETs. Typing these programs 
manually from listings would be 
too error prone and would take 
forever. A friend suggested we 
dump the program libraries on 
seven- or nine-track IBM tapes. 
We could then shop in software 



CLU B NOTCS 



Washington DC 

The Washington Amateur 
Computer Society is an organiza- 
tion dedicated to personal com- 
puting. WACS meets at 7:30 pm 
on the last Friday of each month 
in the first-floor lecture hall of 
Keane Hall, Catholic University 
of America. Contact WACS c/o 
4201 Massachusetts Ave. #168, 
Washington DC 20016. 



club publishes a monthly news- 
letter; for a free copy, write to 
HUG Northshore, PO Box 112, 
Dan vers MA 01923. 



Danvers MA 

HUG Northshore, a computer 
club for Heathkit computer 
users, meets the second Wednes- 
day of each month (7 pm) at Hill 
Tech Building, 88 Holten St. 
(third floor), Danvers MA. The 



Toronto Ontario 

The Canadian Compucolor 
User's Group invites you to join 
the group and utilize its growing 
program library. For more infor- 
mation, contact House of Com- 
puters, Inc., 368 Eglinton Ave. 
West, Toronto Ontario, Canada 
M5N 1A2. 482-4336. 



Washington DC 

Washington Area KIM En- 
thusiasts (WAKE) meet the third 



houses that supplied cassettes for 
someone to convert our tapes to 
cassettes. Can anyone suggest 
where we can get a list of compa- 
nies or people to try, if the idea is 
feasible, or, if it is not, suggest a 
technique that will work. 

Mitch Nadler 

4283 Bedford Ave. 

Brooklyn NY 11229 



I have an E & L Instruments 
MMD-1 microcomputer with an 
MMD1/1 memory board. As an 
exercise in digital design, I am 
planning to add eight 2114s and 
four 2708s, which I will interface 
with the abovementioned units. 
My problem is, I don't know how 
to go about designing the neces- 
sary decoding circuits to drive the 
memory ICs. Two areas on the 
boards are labeled "decoding." 
How do the people who designed 
the circuits come up with the par- 
ticular memory decoding that is 
used. Is there an E & L or other 
publication dealing with this par- 
ticular subject. If so, what do I 
look for? 

Gerald F. Gronson 

28185 Alden 

Madison Heights MI 48071 



Wednesday of each month, 7:30 
pm, at the McGraw-Hill Con- 
tinuing Education Center in DC. 
For a copy of the current WAKE 
newsletter, send an SASE to 
WAKE, c/o Ted Beach, 5112 
Williamsburg Blvd., Arlington 
VA 22207. 538-2303. 



Portland OR 



Any Sorcerer user living in the 
southwest Washington and great- 
er Portland area is welcomed to 
join the Portland Area Sorcerers 
Users Group, which plans to pub- 
lish a regular newsletter and hold 
meetings. For further informa- 
tion, contact either Timothy 
Huang at 9529 N.E. Gertz Circle, 
Portland OR 97211, 289-9135 
(Mondays and nights); or Gary 
Emmerson at 631 S.E. 41st, Apt. 



16 Microcomputing January 1980 



43, Portland OR, 233-9684 
(nights). 



Akron OH 

The Akron Digital Group pro- 
vides tips on hardware and soft- 
ware applications, and plans to 
offer classes. The group meets the 
fourth Wednesday of each 
month, 7 pm, at the Kenmore 
Public Library, 2200 14th St. 






SW, Akron OH. For informa- 
tion, contact Lon Launch, 107 
7th St. NW, Barberton OH 
44203. 745-7819. 



Hamilton Ontario 

Inquiries concerning member- 
ship in the Ontario Society for 
Microcomputers in Education 
(OSM1E) should be addressed to 
N. Solntseff, Unit for Computer 
Science, McMaster University, 



Hamilton Ontario, Canada L8S 
4K1 . OSMIE's goal is to promote 
the use of microcomputers in all 
aspects of education. 



Phoenix AZ 

For $4 dues per year, you can 
join the Arizona Computer 
Society, PO Box 15623, Phoenix 
AZ 85060. The society meets on 
the first Tuesday of each month 



at 8 pm, Rm. 209, DeVry Insti- 
tute, 4702 N. 24th St., Phoenix. 



Fairfield CA 

The Solano TRS-80 User's 
Club (STUC) meets informally 
every third Thursday at Owens- 
Illinois, 2500 Huntington Drive, 
Fairfield CA. Anyone interested 
in getting STUC should contact 
Dave or Steve Irwin at 422-3347. 



LETTERS TO THE EDITOR 



Oh-Oh 

For October's article winner I 
vote for * * Hurricane,' ' page 84. 
This well-written article reflects a 
thorough job of programming. 
In fact, it is the first such article 
written for the TRS-80 Level II 
that actually ran in my machine 
without modification . . . time- 
ly, too, although Mr. Segar could 
hardly have foreseen "Fred" at 
the time he wrote and submitted 
the article for publication. 

I have one suggestion, which 
you might like to pass on to your 
authors. Some of us who have 
been around for seventy, eighty 
or more years don't see fine de- 

I tails as we once did (I noticed it 
particularly at the beach this sum- 
mer), and that fine print you use 
for the program listings is diffi- 
cult for us at best. It's like this. 

The letter O and the figure 
have been in use for quite a spell, 
but even though I had three years 
of schooling, until I started play- 
ing around with computers I 
never realized that a zero was 
really nothing but a hungry O. 

So, can you suggest that your 
contributors avoid the use of the 
letter O for variables? Maybe a D 
or a Q? These latter could still 
provide debugging experience, 
but it wouldn't be as boring. 

A. R. Taylor 
Gravette AR 

I have received numerous let- 
ters regarding my M Hurricane" 
article and have been pleased re- 
garding the "worked the first 
time" comments. The "Hurri- 
cane" program listing you pub- 
lished is correct; however, I did 
learn one valuable secret, which I 



suggest you pass on to your fu- 
ture authors. Never use the letter 
O as a variable, especially when 
using BASIC shorthand in a pro- 
gram. When printed without the 
slash, it is difficult, unless you 
look closely, to tell the difference 
between the letter O and zero. 
One reader misinterpreted the 
zeros in lines 200 and 201 for vari- 
able Os. In doing so he complete- 
ly changed the statement. I also 
left out the THEN portion of the 
IF/THEN statement. This is al- 
lowable in Radio Shack Level II 
BASIC shorthand and probably 
also led to his confusion. Lines 
200 and 201 are easier to under- 
stand if written as follows: 

200 IFL>0THEN R=l 

201 IFLX0THEN R = 

Without these lines, the program 
definitely won't work in all quad- 
rants of the globe. 

I discovered one other interest- 
ing "quirk," which I will pass on. 
Although they look much alike, 
the constant 1.5708 used in lines 
310, 350 and 410 is not the same 
as the constant 1.15708 used in 
line 470. 1.5708 is used in the ra- 
dian/degree conversion, while 
1.15708 is used to convert nauti- 
cal miles to statute miles. 

Bryce D. Segar 
Ft. Douglas UT 



Scientific Applications 

We hear more and more about 
the business revolution caused by 
the microcomputer. Magazines 
such as Microcomputing are full 
of articles on business applica- 
tions and advertisements for 
business-oriented systems. In- 
deed, if we lightly read these pub- 



lications we may get the impres- 
sion that there are only three 
types of microcomputer users: 1 . 
the hobbyist (a dying breed), who 
sits in the garage and plays with 
integrated circuits, but never real- 
ly does anything with his 
machine; 2. the "home computer 
user," who uses his computer as a 
glorified video game, but has dif- 
ficulty justifying it to his wife or 
the neighbors; 3. the business 
user, who uses the machine in his 
business, but who has trouble get- 
ting support from the manufac- 
turers. 

It sometimes seems that manu- 
facturers and publishers are look- 
ing forward to that great day in 
the future when every mom-and- 
pop-type drugstore will have a 
computer in the back taking care 
of sales, billing, inventory, pay- 
roll and taxes. Since there are so 
many small businesses in the 
country, let's make all the com- 
puters to satisfy them, and just ig- 
nore all the other users. They're 
only hobbyists or educators 
(neither of whom have any 
money), so they don't matter. 

I believe that the microcomput- 
er manufacturers are overlooking 
scientific applications. Scientists 
and engineers are already among 
the larger users of mainframes in 
the U.S. today. A look at the 
equipment manufacturers' ads in 
Physics Today will show that 
about a third of the equipment 
manufactured is something that 
contains a dedicated micropro- 
cessor. And scientists have 
money to spend on equipment, 

too. 

Scientific computers ordinarily 
perform three functions (two of 
them not dissimilar to functions 
performed by "business" com- 
puters): analysis of data and stor- 



age of information. We can use 
text editing, too. The only real 
point of difference between "sci- 
entific" computers and "busi- 
ness" computers is that scientists 
like to use the machine for direct 
data acquisition. 

To my knowledge, the only 
mainframe manufacturer seri- 
ously addressing the problem of 
the scientific user is Digital 
Equipment Corporation. My own 
microcomputer is an SWTP 6800 
with 24K of memory, dot matrix 
printer, Kansas City Standard 
cassette interface and drive, 5 
1/4" disk driver with DOS, plot- 
ter, 256x256 graphics and an 
8-channel, 8-bit ADC with a 50 
microsecond conversion time. I 
have half again the memory and 
can load programs from cassette 
three times as fast. 

All this is the result of a cash 
outlay of about $3000. If I were 
to include the cost of my time for 
construction of the graphics in- 
terface and all of the program- 
ming I had to do, it would prob- 
ably raise that to about $7000. 
But most of what I had to do was 
reinvent several wheels. 

Dr. Gordon W. Wolfe 

Asst. Prof., Physics/ Astronomy 

University of Mississippi 



Epistolary Correspondence 
on Polysyllabification 

Well, I just read Mits Hadeishi's 
letter (November 1979), and I was 
moved to write. 

He's right! What kind of a title 
is "Microcomputing"? A lot of 
people can't even pronounce it! 
What's so bad about 1000 bits per 
second? People didn't understand 



Microcomputing January 1980 17 



it? So why change to something 
more egregious? 

73 has a good name. It's related 
to ham radio; it's short and easy 
to remember. Now we can do the 
same thing here without changing 
the name much— just call the 
magazine "Kilo." Remember: 
Ease of recognition of a name 
varies inversely with the number 
of syllables. 

I don't care for the business- 
boxy cover photos. They look 
like U.S. Army tech manuals. 
How about pictures of kids with 
color graphics displays? Comput- 
er graphics displays? Something 
eye-catching? I think it looks bet- 
ter not to have the table of con- 
tents on the front; you have too 
many articles for something that 
important. However, the cover 
picture could be related to one of 
the articles inside. I think it's a 
good idea to have a thematic issue 
now and then, but not very often. 
Please bring back Kilobaud. 
It's hard to advertise your mag 
(which is still the best) by word of 
mouth when the title is mike-ko- 
to-te-pring, or something like 
that. 

Richard A. Rodman 
Vienna VA 



Still More 

Try the circuit in Fig. 1 with 
David Morr's TTY program (Au- 
gust 1979 issue, p. 38). 

John C. Rogers, Jr. 
New Bedford MA 



Ink Up and Start Typing 

The article on the Centronics 

779 Printer in the October 1979 
issue was interesting and well 
written. I have had a Centronics 

780 printer for a little more than 
one year now, and I have a tip I 
would like to pass along. My 780 
has the same ribbon assembly as 
the Model 779. The only problem 
I have ever had with the ribbon is 
the short lifetime of the ink with- 
in it. Ribbons are too expensive to 



Editor, KILOBAUD Microcomputing 
Pine Street 
Peterborough, NH 03^58 

Dear Sir: 

I like 



<ilobaud 

Microcomputing 

I also thought that having the complete table of contents 
on the front cover was a fine idea. 



v ou do a great job between the covers. 

Sincerely, 






L. Foster, Jr. 
Inetructor 
Electronics Engineering Technology 



replace very often, so I came up 
with a better solution. 

For less than one dollar I 
bought a bottle of ink for re-ink- 
ing pads. Now when my ribbon 
runs low on ink I simply apply 
some more ink to the top edge of 
the ribbon. I'm careful not to 
soak the ribbon too much. 

I continue printing until the 
ribbon has made a complete pass 
through the ribbon cartridge, and 
then apply a little more ink to the 
top of the ribbon since what was 
on bottom is now on top. The 
pinch rollers help distribute the 
ink along the length of the ribbon 
so that by the third pass, it is like 
a new ribbon. 

I have been using this method 
on the same ribbon for about ten 
months, and it currently shows 
no sign of wear, though I do not 
expect it to last forever. 

By the way, does anyone else 
out there have an F-8 micropro- 
cessor system? Mine is called a 
Termdisk (it contains an eight 
inch floppy disk) and is manu- 
factured by International Com- 
puter Products in Dallas. It is a 



capable system even though it 
runs on an F-8. Anyone inter- 
ested in F-8s, let me know. I 
doubt Microcomputing will ever 
print any articles on them. 

Gary Fancher 
204 Dee Lane 
Arlington TX 

Before we can print any F-8 arti- 
cles, someone must write them. 
How about you, Gary?— Editors. 



♦ I2VO- 



0.45 -0.85V 
FROM TRS-80 
NORMALLY 
PLUGGED INTO 
AUX INPUT 
TAPE RECORDER 




TO 60mA TTY 



ECG 196 
W/HEAT SINK 



33 I 220 

I/2W > I/2W 



Fig. 1. 



Gobble, Gobble, Gobble 

Murphy was an optimist. 

Else, why would a typo creep 
into Bill Harvey's October 1979 
article, page 99, second column, 
third paragraph, where he is talk- 
ing about his system. The typeset- 
ter, not believing his eyes, in- 
serted an n, erroneously produc- 
ing the word "turnkey." This is 
obviously an error since the next 
word is "home-built." 

Surely, everyone except the 
typesetter knows that a turnkey 
system is one bought complete 
with all software and hardware, 
in one package, usually for one 
price, and most often for one par- 
ticular application, ready to plug 
in and start processing data. The 
term probably stems from an 
analogy to an automobile pur- 
chase where you pay your money, 
turn the key and drive away. 

If the application is BASIC 
programming, then some turnkey 



systems are the PET, the TRS-80, 
the Sorcerer and TI 99/4. But 
there's no way a "home-built" 
system can be a turnkey system. 
Obviously Mr. Harvey intended 
it to read as follows: "turkey 
home-built system." 

Now, don't you understand? 
Murphy was an optimist! 

D. A. Bishop 
Austin TX 

Both the editor who worked on 
the article, and the typesetter who 
set it, are former prison guards 
(who often had to restrain com- 
pulsive crank-letter writers from 
going berserk in the exercise yard 
and trying to hoe messages to the 
warden in the turf). Consequent- 
ly, our editor and typesetter are 
still imbued with prison parlance 
and undoubtedly had their previ- 
ous jobs in mind when they edited 
and set the article. —Editors. 



Port Alright 

As you know, one of the great- 
est obstacles to using a micro- 
computer in a business applica- 
tion is the lack of qualified hard- 
ware repair specialists and soft- 
ware consultants. I own a Sol 
with a Helios IV disk drive and 
have tried to obtain satisfactory 
service in the Houston area for 
several months— all to no avail. 
The local PTC dealer (at least un- 
til PTC's recent demise) proved 
to be totally incompetent and un- 
professional. 

A few weeks ago I noticed in 
your magazine an advertisement 
for Computer Port in Arlington 
TX offering software for the Sol. 
On a lark, I called them to find 
out more, and as with all good 
stories, there was a happy ending. 
I was invited to their offices to 
have my system repaired (it had 
been down for 16 weeks at the lo- 
cal dealer) and to consult with 
them on my specific software 
problems. In two days my entire 
system was not only repaired, but 
upgraded as well. Their service 
department was remarkable in 
that they were able to perform re- 
pairs on both drives, which, ac- 
cording to all information avail- 
able in Houston, required service 
in California. 

I just though you might like to 
know that there are some good 
people around who support the 
efforts and standards of your 
magazine, and who can perform 
the same. 

Kenneth J. Edwards III 
Houston TX 



18 Microcomputing January 1980 



9&*+&*l& 



|C*=£ 




-f^a^' 



*** 






** ** M 



So*** 



\\\ 





Dealer Inquiries Invited 



The Product. Only high quality, prime, burned-in and 
tested 4116 16K dynamic RAMs. Don't be caught 
unaware! All TRS-80 memory expansion kits are not the 
same. UHF Associates' memory expansion gives you high 
quality coupled with outstanding performance. And with 
their fast 200 NS minimum access time (less CPU wait 
states) UHF's 4116 16K dynamic RAMs provide both 
storage and speed that won't disappoint you later down the 
road. 

The Price. 16K Memory Expansion Kit for either 
computer (pre-programmed DIP shunts included) or 
expansion interface, $95. More? 32K Kit for expansion 
interface, $180. Most? 48K Kit for computer and expansion 
interface, $265. 

The Promise. "Thou shalt not wait, worry or fret." 
You'll get immediate post-paid delivery from in-stock 
inventory. You'll get a full 12 month warranty. That's about 
four times the warranty others offer. And for installation, 
you'll get UHF's "goof-proof" instructions. All you'll need is 
a screwdriver and about 10 minutes. 

TRS-80 is a registered trade mark of Tandy Corporation. 



□ 16K Kit with shunts (for computer) $ 95 

□ 16K Kit (for expansion interface) $ 95 

□ 32K Kit (for expansion interface) $180 

□ 48K Kit (for computer and expansion interface) $265 

California residents please add appropriate sales tax 



Name (print) 

Street 

City 



State 



Zip 



□ I've enclosed a check or money order for $ 

payable to UHF Associates. 

We honor: □ Master Charge □ VISA/BankAmericard 

Account # 

Expiration Date _ 

Signature . ■ 

(required for charge card purchases) 



^U14 



UHF 

ASSOCIATES 



90 Transport Avenue, #4 
Rohnert Park, CA 94928 
Call 707/584-7844 



NEW PRODUCTS 



Edited by Dennis Brisson 



Video Display Terminal 

The InterTube. II Video Dis- 
play Terminal has recently been 
upgraded with the addition of a 
new version of software — version 
1.7 — which enables several new 
user-oriented editing features 
such as erase-to-end-of-line and 
page. Standard features of the In- 
terTube include an upper and 
lowercase character set on an 
8x10 dot matrix, a full 24 line by 
80 character screen; a status line 
that displays the operating mode 
of the terminal and a complete 
ASCII typewriter-style keyboard 
with an 18 key numeric pad. The 
terminal includes a hooded dis- 
play to cut down on glare and 
give extra privacy. A wide band- 
width monitor provides sharp im- 
ages everywhere on the screen 
with below-the-line character de- 
scenders to make reading easier. 
Price is $995. 

Intertec Data Systems Corpo- 
ration, 2300 Broad River Road, 
Columbia SC 29210. Reader Ser- 
vice number 121. 



called exactly as they were orig- 
inally when the page is read- 
dressed. The microprocessor- 
based ADM-3 1 is completely self- 
contained and comes equipped 
with keyboard, control logic, 
character generator, refresh 
memory and interface. The ter- 
minal's keyboard is integrated 
with main logic and can generate 
a full 128 ASCII character set. A 
numeric keypad is also included. 

Full editing capabilities allow 
the user to clear the screen, use a 
destructive cursor for character 
change, skip protected fields, 
backspace, move up, down, re- 
turn, home and new line. The 
ADM-3 1 features a high-resolu- 
tion, 12-inch diagonal display 
screen with 24 lines of 80 charac- 
ters in a 7 x 9 dot matrix. Price is 
$1450. 

Lear Siegler, Inc. /Data Prod- 
ucts Division, 714 N. Brook- 
hurst, Anaheim CA 92803. Read- 
er Service number S127. 



Smart CRT Terminal 

The ADM-3 1 smart terminal 
offers two full 1920 character 
pages of display with indepen- 
dent page characteristics of Pro- 
tect, Write/protect, Program 
mode and cursor retention. If the 
operator changes to another 
page, the attributes are automati- 
cally stored in memory and are re- 



32K RAM for the H8 

The DG-32D is a 32K RAM 
board for Heath H8 computers. 
Designed to operate either with or 
without the present static mem- 
ory in the computer, the DG-32D 
is ready to plug into the H8 and 
use without additional wiring. It 
consumes less than 6 Watts pow- 
er. Features include: full compat- 
ibility with current Heath periph- 
erals, circuit protection to pre- 
vent damage to memory output 
buffers if two blocks are assigned 
to the same address space, mem- 




'€T^~:WZ\7/ZJim^dJm 



The InterTube II. 




The ADM-3 1. 



ory addressing controlled by DIP 
switch and transparent refresh. 
Price is $479, assembled, tested 
and burned-in. 

D-G Electronic Developments 
Co., PO Box 1124, Denison TX 
75020. Reader Service number 
D70. 



PET Graphic 
Display Board 

The K-1008A-P Visible Mem- 
ory is a high-resolution graphic 
display board that upgrades the 
Commodore PET computer sys- 
tem to permit high-resolution 
graphics. During image update 



there is no snow or visible inter- 
ference. When not used for 
graphics, the board serves as an 
8K byte expansion memory, 
doubling the 8K PET capacity. 
K-1008-3C graphic software 
($20) is also offered. 

The display board puts up a 
high-resolution matrix of 64,000 
dots (320 wide x 200 high) and al- 
lows control of the on/off state 
of each dot individually and inde- 
pendently. The board interfaces 
to the PET with the K-1007A-1 
bus adapter ($99) with easily de- 
tached ribbon cable intercon- 
nects. Without bus adapter, the 
K-1008A-P can be used with 
AIM-65, KIM-1 andSYM-1 com- 
puters. The K-1005A-P expan- 








Upgrading the PET with the K-100SA-P. 



20 Microcomputing January 1980 



sion card file ($80) is optional. 
Price is $243. 

Micro Technology Unlimited, 
PO Box 4596, Manchester NH 
03108. Reader Service number 
M44. 



Apple II Joystick 

The PAIA/Apple II Joystick 
Controller features plug-in com- 
patibility with Apple IPs game 
I/O connectors, precision-gim- 
baled self-centering action and 
case style and color consistent 
with the Apple II. Other features 
include front-panel trimmers for 
x- and y-axis outputs and a capac- 
itively activated closure to the 
Apple IPs SWO input which oper- 
ates with a finger's touch of the 
controller's metal shaft. Closure 
to Apple II's SW1 input is acti- 
vated with a standard push but- 
ton. Price is $65. 

PAIA Electronics, Inc., 1020 
Wilshire Blvd., Oklahoma City 
OK 73116. Reader Service num- 
ber P9. 



Double-Density 
Floppy Disk Interface 

The Tarbell Double-Density 
Floppy Disk Interface enhances 
existing disk storage capacities 
with only minimum reconfigura- 
tion of existing microcomputer 
systems. The interface board is 
supplied with the new BASIC In- 
put/Output System (BIOS) soft- 
ware for CP/M on single-density 
diskette, permitting the user to in- 
termix single- and double-density 
diskettes. The Tarbell system 
automatically determines whether 



single or double density is in use. 
As many as four drives, using 
either single or double density, 
can be selected. 

The 8 inch Shugart -compatible 
disk interface contains phase-lock 
loop and write precompensation, 
providing more reliable data 
storage and recovery. The on- 
board phantom bootstrap 
PROM is disabled on completion 
of the bootstrap operation, free- 
ing all 64K of memory address 
space for other use. Multi-user 
operation is now possible. Ex- 
tended addressing capability pro- 
vides eight additional address 
bits, allowing direct transfers to 
and from any location within a 16 
megabyte address range. Price is 
$425. 

Tarbell Electronics, 950 
Dovlen Place, Suite B, Carson 
CA 90746. Reader Service num- 
ber Til. 






S-100 6809 CPU Card 

The MD-690b CPU card brings 
the 6809 processor to the S-100 
bus. This single-board computer 
integrates I/O, RAM, PROM 
cassette interface and other fea- 
tures in a complete package for 
instant use. With the MD-690b 
you have your choice of two dif- 
ferent monitor PROMs. MON- 
BUG II provides the firmware 
you need to interface to memory- 
mapped video cards such as the 
VB1-B and MicroDaSys' full- 
color, 80 x 24 ColorMaster video 
card. RSBUG II enables the user 
to interface directly to an RS-232 
terminal using the board's own 
hardware. 

Features include an on-card 
2400 baud (Manchester encoded)/ 
300 baud (KC Standard) cassette 



?• il 



• m* - mi b 



f fe:::::::- 






J 






F1? 



■A m ,~- 

- 



• m 



-u- W 






Wwilfiiii 



Tarbell 's double-density floppy disk interface. 




Model 4609. 




The MD-690b CPU card. 




interface, IK static RAM, 10K 
PROM space, RS-232 level shift- 
ers, an interrupt-driven keyboard 
input, 20 I/O lines, power-on re- 
set, DMA capability, interrupt 
handling and real-time clock. 
Prices are $239 (kit) and $299 (as- 
sembled and tested). 

MicroDaSys, PO Box 36051, 
Los Angeles CA 90036. Reader 
Service number Ml 10. 



PAIA 's joystick for Apple II. 



Interface Board for 
Apple and PET 

The Model 4609 is a new pe- 
ripheral interface board that is 
compatible with Apple II and Su- 
perkim microcomputers without 
any special adapter unit, as well 
as with the PET Commodore 



unit, provided an adapter unit 
called Expandamem has been in- 
stalled in it. The board has provi- 
sions for extended board area and 
dual heavy-duty power buses be- 
tween the DIP IC leads for easy, 
short bus connections. The 4609 
is designed for construction of 
special control, communications, 
peripheral or memory interface 
circuits using support devices by 
major semiconductor manufac- 
turers, as well as for breadboard- 
ing experimental circuits. 

Three connectors, in addition 
to the standard 25/50 system bus, 
are available for input/output. A 
20/40-contact card-edge connec- 
tor, fabricated on the rear of the 
board, mates with a 3-M-type rib- 
bon connector. Alternatively, a 
right-angle solder-tail header 
may be positioned in this same lo- 
cation. The Model 4609 also ac- 



Microcomputing January 1980 21 




The TNW-2000. 



commodates the miniature SIP- 
type connectors, which may be 
placed on the periphery or in mid- 
board. Price is $21.50. 

Vector Electronic Co., Inc., 
12460 Gladstone Ave., Sylmar 
CA 91342. Reader Service num- 
ber V8. 



Serial Interface 

Now you can interface your 
computer to standard RS-232 
printers, terminals, modems and 
other computers with the TNW- 
2000 Serial Interface, which adds 
a bidirectional RS-232 port to the 
Commodore PET and other 
IEEE-488 computers. 

You can set the baud rate from 
1 10 to 9600 bits per second and 
switch-select the IEEE bus ad- 
dress, data word length/parity 
(8-bit words without parity or 
7-bit words with even or odd 
parity) and operation with either 
115 V or 230 V 50/60 Hz power 
sources (power supplies are built 
in). Enabling automatic conver- 
sion between the (old style) PET 
and ASCII character sets for both 
input and output is also possible. 

Other devices can be used on 
the IEEE bus with the TNW-2000. 
A 1 meter IEEE bus cable pro- 
vides a daisy-chaining capability 



with both the PET-style edge- 
board connector and the 
IEEE-488 standard ribbon con- 
nector. Price is $229. 

TNW Corporation, 3351 Han- 
cock Street, San Diego CA 921 10. 
Reader Service number T56. 



TRS-80 Power Supply 

Mayday is an uninterruptible 
power supply that keeps your 
computer on — and thus saves 
your program and data from be- 
ing lost— when the power fails. It 
provides instant power switch- 
over when a power outage occurs 
and protects from any ac line 
surges due to neighboring large 
current changes. Especially de- 
signed for the TRS-80, Mayday 
can handle the complete business 
system of video, expansion inter- 
face, CPU and four disk drives 
for about one-half hour of power 
outage; nonbusiness systems will 
hold for about one hour. It will 
also handle other microcomput- 
ers that have about 140 Watts 
power consumption; 250 Watt 
capability is also available. 

Mayday maintains charge on 
the standby battery during nor- 
mal usage and is always ready for 
use, no matter when the line 
voltage fails. Accessories include 




Mayday. 




The A I -02. 



a battery and line surge protector. 
Sun-Technology, Inc., Box 
210, New Durham NH 03855. 
Reader Service number SI 26. 



Apple Analog Input Card 

The AI-02 Analog Input Card 
provides a single-card data acqui- 
sition system for Apple II com- 
puters. Sixteen analog channels 
may be monitored by the system 



with 8-bit resolution. Channels 
are individually addressable, and 
conversion time is 70 microsec- 
onds. The system can be operated 
from BASIC and also provides 
interrupt capability for more effi- 
cient software implementation. 
The AI-02 is suited to such appli- 
cations as temperature sensing 
and process control. 

Interactive Structures, Inc., 
Suite 204, 3401 Science Center, 
Philadelphia PA 19104. Reader 
Service number 149. 



Also, see pages 188 and 189 for new software releases. 



CONTEST ! 



Winner of the "best article of the month" for October is Allan J. 
Domuret, author of "Expanded TRS-80 Operations." 

Winner of a lifetime subscription to Microcomputing is C. A. 
Lopez of El Paso, Texas. Choice of a book from the Book Nook 
goes to Saul G. Levy of Tucson, Arizona. 

Congratulations to everyone. 



One of your responsibilites, as a reader of Kilobaud MICRO- 
COMPUTING, is to aid and abet the increasing of circulation 
and advertising, both of which will bring you the same benefit: a 
larger and even better magazine. You can help by encouraging 
your friends to subscribe to Kilobaud MICROCOMPUTING. Re- 
member: Subscriptions are guaranteed— money back if not de- 
lighted, so no one can lose. You can also help by tearing out 
one of the cards just inside the back cover and circling replies 
you'd like to see: catalogs, spec sheets, etc. Advertisers put a 
lot of trust in reader requests for information. To make it more 
worth your while to send in the card, a drawing will be held each 
month and the winner will get a liibume subscription to 
Kilobaud MICROCOMPUTING*. 



22 Microcomputing January 1980 




6809 PROCESSING POWER! 

The Percom SBC/9 . Only $199.95. 



Fully compatible w 
requiring no modifi 
board, memory o 
SBC/Q™ is also a 
board control co 
ROM operating] 





mother 

ilete, single- 
fer with its own 



peripheral ports and a full-range baJff^**^- 
clock generator. 



**V » V Vuu L . 



Make the SBC/9 the heart of your computer and put to work 
the most outstanding microprocessor available, the 6809. 



the Mighty 6809 

Featuring more addressing modes 
than any other eight-bit processor, 
position-independent coding, special 
16-bit instructions, efficient argu- 
ment-passing calls, autoincrement/ 
autodecrement and more, it's no won- 
der the 6809 has been called the "pro- 
grammers dream machine." 

Moreover, with the 6809 you get a 
microprocessor whose programs typ- 
ically use on'iy one-'natf to two-thirds as 
much RAM space as required for 6800 
systems, and run faster besides. 

And to complement the extraordi- 
nary 6809, the Percom design team 
has developed PSYMON~ an extraor- 
dinary 6809 operating system for the 
SBC/9™ 

PSYM0N M — Percom SYstem MONitor 

Although PSYMON™ includes a full 
complement of operating system 
commands and 15 externally callable 

" trademark of Percom Data Company, Inc. 



utilities, what really sets PSYMON~ 
apart is its easy hardware adaptability 
and command extensibility. 

For hardware interfacing, you 
•nerely use simple, specific device 
driver routines that reference a table of 
parameters called a Device Control 
Block (DCB). Using this technique, in- 
terfacing routines are independent of 
the operating system. 

The basic PSYMONT command 
repertoire may be readily enhanced or 
modified. When PSYMON" first re- 
ceives system control, it initializes its 
RAM area, configures its console and 
then 'looks ahead' for an optional sec- 
ond ROM which you install in a socket 
provided on the SBC/9™ card. This 
ROM contains your own routines that 
may alter PSYMON™ pointers and 
either subtly or radically modify the 
PSYMONT command set. If a second 
ROM is not installed, control returns 
immediately to PSYMON™ 



Provision for multi-address, 8-bit bidirec- 
tional parallel I/O data lines for interfac- 
ing to devices such as an encoded 
keyboard. 

A serial interface Reader Control output 
for a cassette, tape punch/reader or simi- 
lar device. 

An intelligent data bus: multi-level data 
bus decoding that allows multiprocess- 
ing and bus multiplexing of other bus 
masters. 

Extended address line capability — ac- 
commodating up to 16 megabytes of 
memory — that does not disable the on- 
board baud rate clock or require addi- 
tional hardware in I/O slots. 
On-board devices which are fully de- 
coded so that off-card devices may use 
adjoining memory space. 
Fully buffered address, control and data 
lines. 



The SBC/9 " complete with PS YMON " in 
ROM, 1K of RAM and a comprehensive 
users manual™ costs iust $199.95. 



PERGQM 



»^P82 



PERCOM DATA COMPANY. INC. 

211 N KIRBY GARLAND TEXAS 75042 
(214)272 3421 

Percom 'peripherals for personal computing' 



To place an order or request additional literature 
call toll-free 1-800-527-1592. For technical infor- 
mation call (214) 272-3421 . Orders may be paid by 
check, money order, COD or charged to a VISA or 
Master Charge account. Texas residents must add 
5% sales tax. 

PRICES AND SPECIFICATIONS SUBJECT TO CHANGE WITHOUT NOTICE 



Welcome to Percom's Wide World 




Each LFD mini-disk storage system 
includes: 

• drives with integral power 
supplies in an enamel-finished 
enc osure 

• a controller/interface with ROM 
operating system plus extra ROM 
capacity 

• an interconnecting cable 

• a comprehensive 80-page users 
manual 



**P67 



Low-Cost Mini-Disk Storage in the Size You Want 



Percom LFD mini-disk drive 
systems are supplied complete 
and ready to plug in the moment 
they arrive. You don't even have 
to buy extra memory. Moreover, 
software support ranges from 
assembly language program 
development aids to high-speed 
disk operating systems and 
business application programs. 



Mini-disk storage system prices: 



MODEL 

FortheSS-50Bus: 

LFD-400 M 

LFD-800™ 
For the EXORciser* Bus: 

LFD-400EX M 

LFD-800EX® 

LFD-100O® 



The LFD-40CP* and -400EX®> systems 
and the LFD-800® and -800EX® systems 
are available in 1-, 2- and 3-drive 
configurations. The -400, -400EX drives 
store 102K bytes of formatted data on 
40-track disks, and data may be stored on 
either surface of a disk. The -800, -800EX 
drives store 200K bytes of formatted data 
on 77-track disks. 

The LFD- 1000^ systems (not pictured) 
have dual-drive units which store 800K 
bytes on-line. The LFD- 1000- controller 
accommodates two drive systems so that 
a user may have as much as 1.6M bytes 
on-line. 




1 -DRIVE 
SYSTEM 

$ 599.95 
895.95 



2-DRIVE 
SYSTEM 

$ 999.95 
1549.95 



$ 649.95 $1049.95 

945.95 1599.95 

(dual) $2495.00 (quad) $4950.00 



3-DRIVE 
SYSTEM 

$1399.95 
2195.95 

$1449.95 
2245.95 




■'iiiifci 
•ii it 



HH ««iHiiiiii!iiiiiniiiiiii 




.y*- 




EXORciser" Bus LFD-400EX^ -800E X™ Systems 




Data Terminal & Two-Cassette 
interface — the CIS-30+ 



RATE 
300 


TERMINAL 
LINE 




TAPE 
ON 


% 600 
1200 


LOCAL 


• 


* 

AUTO 


PEFGDM 






CIS-30 + 



^P$8 



Upgrade to 6809 Computing Power. Only $69.95 



Although designed with the SWTP 6800 owner in 
mind, this upgrade adapter may also be used with 
most other 6800 and 6802 MPUs. The adapter is 
supplied assembled and tested, and includes the 
6809 IC, a crystal, other essential components and 
user instructions. Restore your original system by 
merely unplugging the adapter and a wire-jumpered 



DIP header, and re-inserting the original 
components. Also available for your upgraded 
system is PSYMON™ (Percom SYstem MONitor), 
the operating system for the Percom 6809 
single-board computer. PSYMON® on 2716 ROM 
costs only $69.95. On diskette (source and object 
files), only $29.95. 



• P69 

• Interface to data terminal and two cassette recorders 
with a unit only 1/10 the size of SWTP's AC-30. 

• Select 30, 60 or 120 bytes per second cassette 
interfacing; 300, 600 or 1200 baud data terminal 
interfacing. 

• Optional mod kits make CIS-30+ work with any 
microcomputer. (For MITS 680b, ask for Tech Memo 
TM-CIS-30+-09.) 

• KC Standard/Bi-Phase-M (double frequency) cassette 
data encoding. Dependable self-clocking operation. 

• Ordinary functions may be accomplished with 6800 
Mikbug* monitor 

Prices: Kit, $79.95; Assembled, $99.95. Prices include 
a comprehensive instruction manual. Also available: Test 
Cassette, Remote Control Kit (for program control of 
recorders), IC Socket Kit, MITS 680b mod documentation 
and Universal Adapter Kit (converts C1S-30+ tor use with 
any computer). 



of b»uu Microcomputing. 



6800/6809 SOFTWARE 

System Software 

6800 Symbolic Assembler — Specify assembly options 
at time of assembly with this symbolic assembler. Source 

listing on diskette $29.95 

Super BASIC — a 12K extended random access disk BASIC 
for the 6800 and 6809. Supports 44 commands and 31 func- 
tions. Interprets programs written in both SWTP 8K BASIC 
(versions 2.0, 2.2 & 2.3) and Super BASIC. Features: 9-digit 
BCD arithmetic, Print Using and Linput commands, and much 

more. Price $49.95 

TOUCHUP™ — Modifies TSC's Text Editor and Text Pro- 
cessor for Percom mini-disk drive operation. Supplied on 
diskette complete with source listing $17.95 

Operating Systems 

INDEX T * } — This easy-to-use disk-operating and file man- 
agement system for 6800 microcomputers is fast. I/O devices 
are serviced by interrupt request. INDE)C M accesses peripherals 
the same as disk files — new devices may be added without 
changing the operating system. Other features: unlimited 
number of DOS commands may be added* over 60 system 
entry points • display only those files at or above user-specified 
file activity level • versions available for SWTP MF-68, Smoke's 

BFD-68 and Motorola's EXORciser*. Price $99.95 

MINIDOS-PLUSX" — An extension of the original 
MINIDOS™ for LFD-400 T ^ mini-disk systems, MINIDOS- 
PLUSX™ manipulates files by six-character names. Supports 
up to 31 files. Resident commands include Initialize, Save, 
Allocate, Load, Files (directory list), Rename and Delete. 
Supplied on 2708 ROM with a minidiskette that includes 
transient utilities such as Copy, Backup, Create, Pack and Print 

Directory. Price $34.95. 

PSYMON™ — Percom SYstem MONitor for the Percom 
single-board/ SS-50-bus-compatible 6809 computer accom- 
modates user's application programs with any mix of peripher- 
als without modifying programs. PSYMON" M also features 
character echoing to devices other than the communicating 
device, sophisticated register and memory dump routines and 

more. Price (on 2716 ROM) $69.95. 

WINDEX™ — Described in detail elsewhere on this page. 

Business Programs 

General Ledger — For 680076809 computers using Per- 
com LFD mini-disk storage systems. Requires little or no 
knowledge of bookkeeping because the operator is prompted 
with non-technical questions during data entry. General Ledger 
updates account balances immediately — in real time, and will 
print financial statements immediately after journal entries. User 
selects and assigns own account numbers; tailors financial 
statements to firm's particular needs. Provides audit trail. Runs 
under Percom Super BASIC. Requires 24K bytes of RAM. 
Supplied on minidiskette with a comprehensive users manual. 
Price $199.95. 

FINDER™ — This general purpose data base manager is 
written in Percom Super BASIC. Works wth 6800/6809 com- 
puters using Percom LFD-400™ mini-disk drive storage sys- 
tems. FINDER™ allows user to define and access records using 
his own terminology — customize file structures to specific 
needs. Basic commands are New, Change, Delete, Find and 
Pack. Add up to three user-defined commands. FINDER plus 
Super BASIC require 24K bytes of RAM. Supplied on minidisk- 
ette with a users manual. Price $99.95 

Mailing List Processor — Powerful search, sort, create 
and update capability plus ability to store 700 addresses per 
minidiskette make this list processor efficient and easy to use. 
Runs under Percom Super BASIC. Requires 24K bytes of RAM. 
Supplied on minidiskette with a users manual. Price $99.95. 
From the Software Works 
Development and debugging programs for 6800 nCs on disk- 
ette: 

Disassembler/ Source Generator $30.95 

Reloc'tng Disas'mblr/ Segmented Text Gen $40.95 

Disassembler/ Trace $25.95 

Support Relocator Program $25.95 

Relocating Assembler/Linking Loader $55.95 

SmithBUG** (2716 EPROM) $70.00 



1 /2-Price Special on Hemenway Software! 

CP/68t disk operating system $ 49.97 

STRUBAL+t compiler $124.97 

EDIT68 text editor $ 19.97 

MACRO-Relocating Assembler $ 39.97 

Linkage Editor (LNKEDT68) $ 24.97 

Cross Reference utility $ 14.97 



"trademark of Percom Data Company, Inc. *-* P70 

* trademark of Motorola Corporation 
^Trademark of Hemenway Associates Company 

* 'SmithBUG is a trademark of the Software Works Company 



And looking into' is just what 
you do with the Electric 
Window® as you peer right 
into memory space where 
characters are being input 
and manipulated. Display 
is memory-resident, 
programmable and generates 
up to 24 80-character lines. 

Other features include: 

• standard character 
generator plus provision for 
optional special character 
generator 

• dual intensity, high-lighting 
alphanumeric display 

• scrolling by a programmable 
register • programmable 
display positioning 

• programmable interlaced or 
non-interlaced scan 

• descenders on lower case 
letters • users manual with 
application instructions and 
listing of WINDEX® driver. 




The Electric Window. 
Worth Looking Into. $249.95 

WINDEX^- is a fast video display driver program for 
the Electric Window™. WINDEX™ also features: 
program and keyboard control of character 
generators • displayable control characters — under 
program control • automatic scrolling • a driver 
routine for the parallel input keyboard feature of the 
Percom 6809 Single-Board Computer, the SBC/9® 
• auto-linking to PSYMON™ , the ROM operating 
system for the SBC/9™ • Prices: ROM version: 
$39.95; LFD-400™ compatible diskette (source and 
object files): $29.95. ^P7i 



Now Available! the SBC/9 MPU/Control Computer 

(Single-Board-Computer/6809) — stands alone as a control computer, but also *">** 
compatible with the SS-50 bus for use as an MPU card. Includes PSYMON® (Percom 
SYstem MONitor) in a 1K ROM and provides for additional 1K of ROM. Also includes 1K 
of RAM. Features: Super Port — provision for multi-address, 8-bit bidirectional data 
lines • an intelligent data bus for multi-level data bus decoding • an on-board 110-baud 
to 19.2 kbaud clock generator • extended address capability — to 16 megabytes — 
without disabling baud clock or adding hardware. And much more. Supplied with 
PSYMON^ and comprehensive users manual. Price w $199.95. 

See full page ad elsewhere in this magazine for all of the SBC/9 * features. 



Full Feature Prototyping PC Boards 



All of the features needed for rapid, 
straightforward circuit prototyping. Use 
14-, 16-, 24- and 40-pin DIP sockets 
• SS-50 bus card accommodates 34- and 
50-pin ribbon connectors on top edge, 
10-pin Molex connector on side edge* I/O 
card accommodates 34-pin ribbon 
connector and 12-pin Molex on top edge 




I/O Bus Card: $14.95 





y 

" T,T "" ,TnT " UTn " ,ITTmTT aa^z 



SS-50 Bus Card: $24.95 



• I/O card is 1- 1 A inches higher than 
SWTP I/O card • interdigitated power 
conductors • contacts for power regulators 
and distributed capacitance bypassing 

• use wire wrap, wiring pencil or solder 
wiring • tin-lead plating over 2-oz copper 
conductors wets quickly, solders easily 

• FR4-G10 epoxy-glass substrate. 



»^P73 



To place an order or request additional literature call toll- 
free 1-800-527-1592. For technical informaticn call (214) 
272-3421 . Orders may be paid by check, money order, COD or 
charged to a VISA or Master Charge account. Texas residents 
must add 5% sales tax. 

PRICES AND SPECIFICATIONS SUBJECT TO CHANGE WITHOUT NOTICE 



PEflCOM 



PERCOM DATA COMPANY, INC. 

211 N KIRBY GARLAND. TEXAS 75042 
(214) 272-3421 




Computer bulletin board services are everywhere. To join the fun of instant information ex 
change, you'll need a terminal, a telephone and a modem (like the one described on p. 52). 



Frank J. Derfler, Jr. 
PO Box 17283 
Montgomery AL 36117 

The hallways of companies in the 
computer industry ring with 
phrases such as "distributed process- 
ing" and "smart terminals." Mega- 
dollar corporations are modifying 
their management structures to take 
advantage of the synergistic relation- 
ship between computers and commu- 
nications. Flashy executives and con- 
gressmen too consider it a "perk" 
(nontaxable) to be able to dial into 
their mailboxes from a portable ter- 
minal and sort through their old and 
new messages. Military communica- 
tions planners talk about many net- 
work terminals sharing a "data base 
in the sky." There is no reason why 
those of us with our own microcom- 
puters can't participate in the exciting 
world of digital information transfer 
just like the megabuck boys. 

Introduction 

This is the start of a new Microcom- 
puting feature called the Dial-up 
Directory. The Dial-up Directory will 
have two purposes: to provide (1) an 
annotated directory of those comput- 
er bulletin board services (CBBS) that 
exist around the country and of those 
individuals interested and capable of 
exchanging data by phone and (2) in- 
formation on software and systems 
that can give you a dial-up capability. 

26 Microcomputing January 1980 



We all have different interests and 
ways of utilizing our computers. 
Often our interests and requirements 
are not shared by local individuals or 
clubs. It is extremely helpful to be 
able to share programs and sugges- 
tions via data phone calls from 
around the country. 



(tt 



We would like to publish 
the name and phone 

number of anyone 

presently interested in 

receiving data calls. 



m 



Whether your interests are graphics 
on the Apple, games on the PET, 
number crunching on the North Star 
or computer- assisted instruction on 
the TRS-80, there are others out there 
similarly inclined. We will try to hook 
you up. 

We will have a lot of work to do 
together. We will have to work out 
and spread the word not only on elec- 
tronic protocols, but also on those 
human protocols that exist whenever 
people interact with one another. We 
will describe ideal ways of doing 
things, the cheap way of doing things 
and the road down the middle. First, 
though, let's describe the world we 



will be looking at for those who may 
not be familiar with it. 

Getting Started 

Almost all of the computers we own 
have a practical communications ca- 
pability of one sort or another. The 
cassette recorder port on most ma- 
chines is one example. 

The main I/O capability we are in- 
terested in is the RS-232 ASCII port 
available either stock or as an ac- 
cessory on almost every microcom- 
puter. Cassette and disk formats may 
differ between brands of computers 
and, indeed, even between models of 
the same brand, but the RS-232 
ASCII port brings everything out in a 
common electrical medium of ex- 
change. My OSI can talk to your 
TRS-80 at a useful speed, and we can 
exchange programs and information 
over a communications link. 

Probably the best (but certainly not 
the only) communications medium 
we have between us is the telephone 
line. The U.S. still has the best overall 
phone system in the world (Japan and 
some sections of the Middle East are 
coming up fast), and the telephone 
represents an economical way of 
sending our minds out around the 
country. 

In order to convert and send the 
digital plus and minus voltages of the 
RS-232 signal over the phone lines, we 
need a device called a modem, which 
converts these dc voltages into audio 



From: 


EDST 


EST/ 


CST/ 


MST/ 


PST 


HST 






CDST 


MSDT 


PDST 




AST 


To GMT 














Add: 


+ 4 


+ 5 


+ 6 


+ 7 


+ 8 


+ 10 


Hours 














Table 1. Conversion from 


local to Coordinated Universal Time (GMT). 



tones. The tones are received by a 
modem at the distant end and con- 
verted back into dc. The Bell system 
set the standards for low-speed (to 300 
baud) modems; their Bell 103A stan- 
dard is typically used. Under this 
standard, each party (one called the 
"originate" and one called the 
"answer") uses a different set of tones. 

This means that if I wanted to call 
you to send you the nifty program 
that I just wrote to water my vegeta- 
ble garden, we would first have to 
verbally agree on the speed (110 and 
300 baud are the most common) and 
on which one of us would use the 
originate signaling tones and which 
one would use the answer tones. Then 
we would connect our modems to our 
phones and send data. 

Obviously, one of us would have to 
have a modem capable of operating in 
the answer mode. This is important, 
because as you read modem ads you 
should look for the capability you 
need. Many modems are originate on- 
ly. Many others advertise themselves 
as originate/ answer but don t make it 
clear that the option requires exten- 
sive rewiring. "Switchable originate/ 
answer" is the key phrase for complete 
flexibility. 

Potential Difficulties 

Establishing contact by phone 
probably only means you are over the 
hardware hurdle. Another favorite 
buzz phrase in large system procure- 
ment today is that hardware is easy 
. . . it's software that's difficult. 
Once you receive my data on your sys- 
tem, what can you do with it? With 
the right software, your system can 
save it on disk or tape to recall and use 
again at your convenience. We will 
talk about software to do that in 
future articles. 

Without the right software, you 
can only print out the data you re- 
ceive. But at least you have a hard 
copy to refer to. If your computer acts 
only as a "dumb terminal," then you 
can probably have a nice chat, but 
you may have only a few scribbled 
notes to remember it by. 



Other difficulties may be thrown 
into our exchange of data if I am not 
free to get on the phone at the same 
time you are. There are two ways 
around this: an auto answer capabili- 
ty to allow access with the terminal 
unmanned (after all, what good is 
automation if you can't put yourself 
out of a job?) and a store and forward 
service. 

These services exist in many places 
around the country. They are typical- 
ly known under the generic name of 
computer bulletin board services 
(CBBS). I can dial into this service 
(actually, anybody's system with an 
automatic answer modem, the right 
program, sufficient memory and a 
large electric bill) , select the bulletins 
I want to read and leave a copy of my 
rutabaga- watering program. 

In that way, you and everybody 
else on the system can review my pro- 
gram at your convenience. This is 
practically the ideal information ex- 
change. Would you like to take part? 
That is the goal of this series. 

The Directory 

We would like to publish the name 
(use a pseudonym if you like, but no 
CB call signs, please) and phone num- 
ber of anyone presently capable of 
and interested in receiving data calls. 
We will need any specifics or limita- 
tions, such as baud rate, answer only, 
special control codes or carriage re- 
turns. We need to know when and on 
what days you will be interested in re- 
ceiving calls. We will also have room 
for information on interests — stock 
market analysis, for example. 

One of our biggest services can be 
getting people with similar interests in 
touch with each other— digitally. Be- 
cause of the various time zones in- 



volved, I suggest we use Coordinated 
Universal Time (also known as GMT, 
Zulu or WWV time). A quick- refer- 
ence GMT-to-local-time conversion 
chart is included in Table 1. 

Remember: You may be getting 
calls from around the country, so it is 
only common courtesy to keep your 
5-year-old from answering the phone 
during the times you specified, and it 
might be nice to not answer at all if 
you are not interested or able to trans- 
fer data on a specific day. A firm 
promise to return the call at another 
time is probably the least you owe 
someone who called you in good 
faith. An automatic audio answering 
device such as a Code- a- phone will 
allow recording up to 30 seconds of re- 
ceived data. We'll also discuss trans- 
ferring data from the Code-a-phone 
to the computer in a later article. 

In this introductory article, let me 
acquaint you with three excellent 
computer bulletin board services (see 
Directory). They represent a good 
starting point because they each con- 
tain extensive prompts and guides to 
make your telecommunications trials 
less terrifying. They are all available 
24 hours a day, work either 1 10 or 300 
baud and operate in the answer 
mode. They are free of any financial 
charge and don't need any passwords 
or codes, but that can all change if 
they are abused. The rules are just like 
those for a campground: keep it 
clean, don't leave any garbage behind 
and don't overstay your welcome, 
because others are waiting to use the 
facilities. 

You can enter any of these systems 
by dialing the phone number, con- 
necting your modem as soon as you 
hear the answering tones begin and 
sending at least three carriage 
returns. The host computer will read 
the carriage returns and reply at the 
proper speed. It is then that the fun 
begins. 

Let me hear from you if you want to 
receive data calls or if you operate a 
CBBS. Send mail to PO Box 17283, 
Montgomery AL 36117, or leave a 
message on the Atlanta CBBS (404) 
939-1520. ■ 



Location 



Operated by Phone 

Dallas Ric Martin and Bill Kennedy (214) 641-8759 

Atlanta Les Freed (404) 939-1520 

Oregon Jim Willing and Bill Marx (503) 646-5510 

Dial-up Directory. 



Microcomputing January 1980 27 



Tiny Dual-Trace Oscilloscope 



The micro-sized NLS MS215 scope is for microcomputer troubleshooting. 



Nat Wads worth 
PO Box 3153 
Milford CT 06460 



I purchased my NLS MS215 
dual trace oscilloscope at a 
local electronics distributor. It 
was in its original factory car- 
ton, which I opened at the 
distributor's counter to make 
sure that it came with probes. (It 
did, but with simple alligator 
clips at the working end!) I was 
unsure whether probes were in- 
cluded with the basic unit 
because some of the advertise- 
ments by mail-order suppliers 
indicated that scope probes 
were extra. The extra probes 
referred to in some ads, it turns 
out, are the fancy 10:1 probes 
many people like to use. 

I also gave the unit a once- 
over glance while at the dis- 
tributor's counter. However, I 
did not attempt to operate the 
unit at the point of purchase. 

Inspection 

When I got the unit home, I 
gave it a thorough visual inspec- 



tion. The only physical defect I 
could find was a tiny chip on one 
of the corners of a front panel 
slide switch. The flaw was big 
enough to notice but not suffi- 
cient to upset me. I don't think I 
would have passed the unit with 
such a defect if I were the qual- 
ity-control man at the factory. 
On the other hand, I could under- 
stand a weary inspector missing 
the flaw if he or she had to ex- 
amine hundreds of units per day 
as they came down the produc- 
tion line. After all, I had not 
noticed the imperfection during 
my once-over glance when I pur- 
chased the unit. 

I was pleased with what I 
found in the manual. It is well 
written and sufficiently compre- 
hensive. The 36-page booklet 
does a creditable job covering 
the basic aspects of how to use 
the instrument, discusses the 
theory of operation of the cir- 
cuits used in the scope and 
describes calibration and main- 
tenance procedures. This is all 
done on a much more thorough 
level than in the manuals for 
other pieces of gear that I have 
had the occasion to examine 
lately. The manual even in- 
cludes a full schematic, printed 



circuit board pictorials that in- 
clude call-outs of active com- 
ponents and troubleshooting 
hints for each major section of 
the instrument's circuitry! 

Power up 

Time to turn the unit on and 
try it out. The instruction 
manual said to be sure the 
batteries were charged up first 
or else to run the scope off its ac 
adapter. I plugged in the adapter 
and gave it a few minutes to get 
some initial juice into its bat- 
teries per the manual's recom- 
mendations. Finally, it was time 
to turn the unit on. 

After powering it up, I noticed 
an extremely high-pitched 
whistling noise. It was faint but 
clearly discernible. My first 
thoughts were that it might drive 
some people, particularly those 
sensitive to high-frequency 
sounds, slightly berserk. For- 
tunately, the sound is indeed 
very faint. I was alone in a com- 
pletely quiet room when I first 
turned on the unit. Subsequent 
use has shown that just a slight 
amount of ambient noise, such 
as a softly playing radio, drowns 
out the high-pitched sound that 
emanates from the scope. The 




This front view of the MS215 shows that all the essential controls are right up front where needed. 
28 Microcomputing January 1980 



noise apparently comes from 
the unit's power supply that 
utilizes digital switching tech- 
niques operating at frequencies 
that are barely detectable by 
people. (It may be interesting to 
see how a dog reacts to the unit. 
They apparently can hear higher 
frequencies than people, much 
more clearly.) 

I also noticed that the scope 
trace was tilted. When viewed 
against the etched reference 
grid on the unit, the trace was 
about one-quarter of an inch 
higher at the left side of the dis- 
play than at the right side. To 
me, there are few things more 
annoying when trying to read a 
scope than having the display 
run downhill (or any way but 
straight) across the display 
tube! It is disorienting, to say 
the least, and it makes it tough 
to do any kind of serious voltage 
measurements. 

I can assure you I was not 
pleased with what I initially saw. 
I don't know if the particular unit 
I purchased left the factory in 
that condition. I certainly hope 
not. Perhaps jarring the unit dur- 
ing shipping caused the cath- 
ode ray tube to rotate slightly. In 
either case, the company might 
want to keep an eye on the prob- 
lem. I don't think mine was an 
isolated case. I recently noted 
the same firm's model 15 scope 
on display at an electronics 
show. The signal being dis- 
played was tilted in a notice- 
able manner. I wonder how 
many prospective customers 
were turned off. 

It turns out that it is fairly sim- 
ple to correct such a situation. 
The problem comes about from 
the cathode ray tube not being 
positioned correctly. Undoing a 
screw on the instrument's case 
permits the cabinet to be slid 



off. Doing so reveals the com- 
pact and neatly laid-out cir- 
cuitry. 

The miniature cathode ray 
tube is held at its base by a 
socket, which is mounted in a 
clamping arrangement. A single 
screw on the socket clamp ap- 
plies pressure to the clamping 
mechanism that holds the 
socket. Backing off the screw 
allows the tube socket to be 
rotated, and the display can 
thus be adjusted so that a 
straight raster line runs hori- 
zontally. 

After adjustment, retighten 
the clamping screw. The adjust- 
ment takes just a few minutes; 
however, it is annoying to have 
to do it. After all, the display is 
the essence of an oscilloscope. I 
think the factory would want to 
pay close attention to see that it 
was OK when shipped and that 
it stayed properly oriented dur- 
ing shipment. In all other 
respects the unit is fine. In fact, 
the little scope is ideal for my 
applications. 

Specifications 

While I did not make tests 
with precision equipment, it 
appeared that the equipment 
was within specifications. How- 
ever, some of the specifications 
stated seemed to be merely an 
exercise in "specmanship." 

For instance, the vertical 
calibration is stated to be within 
three percent of full scale. Full 
scale on this little scope is all of 
one inch. That means that if you 
are trying to measure a voltage 
that is one volt peak-to-peak, on 
a full-scale setting, the vertical 
distance might vary by three 
one-hundredths of an inch. Not 
many people can readily discern 
that difference on an oscil- 
loscope of this size. . . nor 
should they try to! 

Most of my work is with dig- 
ital logic in microcomputer 
systems. Occasionally I need to 
check analog signals, such as 
when checking power supplies, 
A/D or D/A converters; and, once 
in a while, I will check out a radio 
or audio system. Being a dual 
trace oscilloscope, the MS215, 
is a real boon to me. I can put a 
system clock signal on one 
trace. I can then use the other 
trace to follow a signal path 



through a logic network and 
check it directly against the 
system clock. Misbehaving 
counters, shift registers and just 
plain logic gates can't escape 
detection using this method. 

The vertical sensitivity on 
each channel can be selected to 
be anywhere from 10 millivolts 
per division to 50 volts per divi- 
sion. This sensitivity selection is 
independent on each channel. It 
is set through a pair of switches. 
A four-position slide switch 
selects a sensitivity of 0.01, 0.1, 
1.0 and 10 volts per division. A 
three-position toggle switch 
multiplies the slide switch 
selection by a factor of 1, 2 or 5. 
Additionally, a vernier knob 
allows the sensitivity to be con- 
tinuously varied between set- 
tings of the switches if desired. 
When the vernier knob is placed 
in the CAL position, the sen- 
sitivity is specified to be within 
three percent of the switch set- 
tings. 

If you are making critical volt- 
age measurements, it is gen- 
erally necessary to re-zero the 
scope trace each time the sen- 
sitivity setting on a channel is 
changed. This is readily ac- 
complished by placing the chan- 
nel's mode select switch into its 
center GND position and then 
tweaking the vertical position 
knob to set the trace at the 
desired zero-reference level on 
the display graticule. 

The horizontal sweep rate can 
be selected to be anywhere from 
0.5 second per division to 0.1 
microsecond per division. 
Again, a vernier knob allows 
calibrated operation or any 
speed between the switch set- 
tings in an uncalibrated fashion. 
The horizontal sweep can be 
initiated by an external signal, by 
a signal being displayed, at a rate 
synchronous with the 60 cycle 
line frequency if the unit is being 
run from an ac line source, or the 
sweep can be placed in a free- 
running mode. The free-running 
mode gives a continuous dis- 
play regardless of what a signal 
is doing, and is thus useful for 
viewing the voltage levels of 
essentially steady-state signals. 
This is a feature that is conve- 
nient to have when tracing logic 
levels through a series of static 
gates. 




A top view of the MS215 circuit board. CRT tube and batteries have 
been removed for this photo. Arrow points to rear mounting bracket 
for the CRT tube. Loosening a single screw on this bracket allows 
the CRT tube to be rotated slightly to correct a tilted display if 
necessary. 



Mode of Operation 

The scope can display a 
signal on channel one by itself, 
on channel two by itself, or it 
can display two signals simul- 
taneously in either the so-called 
"chop" or "alternate" modes. 

In the alternate mode, the 
scope shows one sweep of the 
signal on channel one, the next 
sweep on channel two and so 
forth. That is, it continuously 
alternates between displaying 
the two signals. The rate at 
which it alternates essentially 
depends on the horizontal 
sweep rate that has been select- 
ed by the operator. Of course, 
when the sweep rate is rapid 
enough, the two channels ap- 
pear to be constantly displayed 
due to the latent image 
mechanism of the human eye. 

In the chop mode, the oscil- 
loscope also alternately dis- 
plays the signals, only now the 
alternating is done at a fixed 
rate regardless of the settings of 
the horizontal sweep switches. 
This mode is fine for viewing 
signals that are relatively low in 
frequency, i.e., signals that are 
below approximately 20,000 
cycles per second. Above that 
rate you are likely to observe 
gaps in the signals being dis- 
played as the scope alternates 
between the two signals. (Of 



course, that doesn't present any 
problem. It means you just 
switch over to the alternate 
mode of operation because 
signals requiring that rate of 
speed on the horizontal sweep 
will be fast enough to give a 
solid appearance in the alter- 
nate mode!) 

You can adjust the triggering 
point of a signal being displayed 
so that the sweep starts on a 
negative or positive portion. You 
can even select the signal level 
at which triggering is to occur. I 
found the internal triggering 
capability of the scope to be 
quite good as long as the signal 
varied over about two vertical 
divisions or more. The manual 
says that at least one division of 
deflection is required to get 
reliable internal triggering. My 
scope will indeed trigger on 
signals at that level, but it is dif- 
ficult to select a particular point 
on a signal when the deflection 
is that low. At two or more ver- 
tical divisions I find I can get 
good triggering control at points 
that I desire on most waveforms. 

Other Features 

You also have the option of 
using the XY mode. In this mode 
the horizontal sweep is con- 
trolled by an external signal of 
your choosing, instead of an 



Microcomputing January 1980 29 




The NLS model MS215 weighs three pounds and is easily carried in 
one hand. (Photos courtesy of Non-Linear Systems, Inc., Del Mar CA 
92014) 



internal time base. This feature 
is necessary to satisfy all those 
people who want to look at 
Lissajous patterns or do TV vec- 
tor analysis and so forth. 

Would you believe this little 
scope even has a built-in one 
volt peak-to-peak square wave 
calibrating signal? This feature 
is convenient, especially when a 
signal you are tracing suddenly 
disappears and you want to 
quickly make sure that the 



scope itself hasn't gone on the 
blink! (Isn't it amazing how we 
always question the perfor- 
mance of the test equipment we 
are using even though we know 
that the piece of gear we are us- 
ing it on is not working in the 
correct fashion?) 

This small, compact scope is 
also able to operate from its 
own internal batteries. It is 
simply fantastic! I can't count 
the number of times, prior to ob- 



taining this scope, that I have 
wanted to check something out 
in an electronic gadget, only to 
be stopped by the inconve- 
nience of not having a portable 
scope. Who wants to lug a 30 
pound oscilloscope out to the 
garage, connect two or three 
extension cords in series and 
then try to work on a car radio in 
the front seat while trying to 
peer into the back seat to ob- 
serve a scope trace? 

Have you ever been working 
on a piece of digital circuitry on 
your bench and come to the con- 
clusion that your logic probe 
alone wasn't going to solve the 
problem? Then, have you noted 
that every ac receptacle on your 
bench was in use (out of neces- 
sity, of course) and yet your 
oscilloscope was not plugged 
in? In order to be able to plug in 
your scope, you have to unplug 
your soldering iron. And then, as 
soon as you have done that, just 
after the soldering iron has 
cooled down, you find that you 
have to solder or unsolder a con- 
nection in order to make further 



tests! Frustrating, isn't it? 

You won't have those prob- 
lems if you have an MS215! You 
can pick this little three pound 
beauty up in one hand, forget all 
the extension cords, run out to 
the garage and place it right on 
the front seat beside the radio 
you are working on— so you can 
probe circuits and view the 
results without straining your 
neck! You have three hours of 
scope operating time available 
when in the battery mode of 
operation. Since the scope is 
solid-state and has essentially 
"instant-on" capability, you can 
turn the scope off when not ac- 
tually taking measurements. 
Thus, you can work practically 
all day in an isolated environ- 
ment without needing any ac 
power. 

All in all, I am favorably im- 
pressed by the NLS MS215 dual 
trace scope. I have not seen 
anything to match it in its price 
class (about $430 at the time of 
this writing). The closest com- 
petition I have seen or heard of 
is well over twice its price. ■ 



rui/=\Gs/=\rur 

KEYED FILE 
MANAGEMENT SYSTEM 

Sophisticated applications made simple. 

Put data at your fingertips. ..easily accessed, displayed and 
updated by key MAGSAM™ allows your CBASIC programs to 
create and access sophisticated keyed file structures throuqh 
simple CBASIC statements 

Powerful, affordable, and easy to use. 

MAGSAM™ is now available in three versions offering an array of 
features and capabilities Standard MAGSAM™ features include 
random by key. sequential by key, generic by key, randomly by 
record number, and physical sequential access techniques Each 
MAGSAM™ Package incudes the MAGSAM™ file manager, tutorial 
program, file dump utility. User Guide, Reference Card, and one 
year update service 

• MAGSAM™ — Most advanced version. Secondary Indexing with 
any number of keys, and Record and Key Deletion with automatic 
reuse of freed space $145t 

• MAGSAM II™ — Single Key support with full Record and Key 
Delete capability jgg-j. 

• MAGSAM I™ — Entry level version. Single Key support without 
Delete functions $75-)- 

• MAGSAM™ User Guide only — comprehensive tutorial and 
reference manual «15 

Available for 8" soft sector, Micropolis, and TRS-80disk formats. 
Requires CP/M' or derivative and CBASIC Distributed as CBASIC 
subroutines in source form 

Visa and Masterchagre welcome Dealer and OEM inquiries 
invited 



rui/=\G 



ICRO APPLICATIONS GROUP 

7300 CALDUS AVENUE . M1fl 

VAN NUYS. CA 91406 



* Trademark of Digital Research t Single site license 




TRS-80 OWNERS! 

We have a FREE program just for you. IDEA SEEDS 7 a new concept 
in software from CECDAT. Each month you can receive a FREE program 
for your TRS-80, ready for use and/or customization, for just a self 
addressed-stamped envelope. 

ACT AT ONCE... Send your self addressed-stamped envelope NOW 

before it slips your mind! It could be the best thinq you have done 
for your TRS-80 Library. 

FREE IDEA SEEDS"! ONLY FROM CECDAT! «^C128 

CECDAT, Inc. P.O. Box 8963. Moscow, Idaho 838A3 



30 Microcomputing January 1980 




or Dragons and Dungeons?* 



Did you read about the fellow who 
became so enchanted playing D & D, 
he disappeared for a month? 

Chances are, when you play the 
Dunjonquest™ version, the greatest 
of all the role-playing fantasies, youll 
be able to hold on to reality just a 
little better. 

You're the hero. Enter into the Dunjonquest 
"Temple of Apshai" and into the greatest 
fantasy adventure you've ever experienced. 
The Temple has over 200 rooms and cata- 
combs in which lurk more than 30 kinds of 
monsters and beasts ready to do you in — in 
real time — before you can reach any of the 
70 or so treasures waiting for the hero. You 
may spend days, weeks, months . . . the rest 
of your life . . . striking at the forces of evil, or 
running from them, or calling on powers you 
can never completely understand. Always, 
always demonstrating in varying degrees 
your strength, constitution, dexterity, intel- 
ligence, intuition, the force of your ego. 

Unlike chess or bridge or monopoly, this 
role-playing game — like other good role- 
playing games — is an experience rather 
than a game: It is not played so much as it's 
lived or experienced. Your alter ego goes 




Usually,; called "Dungeons 
and Dragons. " But among 
knowledgeable people and 
Dungeonmasters, it's 
called "Dunjonquest. 



>» 



forth into the world of demons and darkness, 
dragons and dwarves. Your character will do 
whatever you want him (or her or it) to do. 

Dunjonquest's "The Temple of Apshai" is 
guaranteed to be the best version of Dun- 
geons and Dragons/Dragons and Dungeons. 
It's a product of the two guys who are Auto- 
mated Simulations: Jim Connelley and Jon 
Freeman. Jim is a Dungeon Master, running 
continuous D & D campaigns. He's been a 
data processing professional with Westing- 
house, GTE Sylvania, Logisticon ... an expert 
in computer-based math-modeling and in 
simulation of complex phenomena. Jon is a 
game player, designer and author. He's a fre- 
quent contributor to Games magazine; 
his book: "The Playboy Winner's Guide to 
Board Games" is a paperback best-seller. 

"The Temple ..." comes complete with a 
superbly illustrated 56-page rule book and 
cassette program, designed to operate with 
the Level II 16K TRS 80, the PET 32K or the 
Apple II 48K (Microsoft) computer. Only 
$24.95 complete, including shipping and 
handling on orders placed within the next 
30 days. 

And, as we said, guaranteed: Guaranteed to 
be the best version; guaranteed that you'll be 
happy with it. Order now, use it for two 
weeks. If you don't enjoy completely this 
fantasy adventure experience that goes 
beyond all others, send it back to us. Well 
refund your money in full; no questions 
asked. 

Master Charge or Visa card holders: 
charge "The Temple of Apshai" to 
your credit card. Just call our toll 
free number: (800) 824-7888, oper- 
ator 861 (In California, call operator 
861 (800) 852-7777. In Hawaii and 
Alaska, operator 861 (800) 824-7919) 
and you can begin enjoying your D & 
D game in days. Or send your check 
for $24.95* to 

Automated 
Simulations 

Dept. K1 

P.O. Box 4232 

Mountain View, Ca. 94040 







•California residents, please add 6.5% tax. 




Timothy Huang 
9529 NE Gertz Circle 
Portland OR 97233 



Here's another way to employ the Sorcerer's user-defined graphics keys. 



There are two major reasons 
why I chose the Sorcerer mi- 
crocomputer rather than others. 
First, it has the interchangeable 
ROM language pack, which I 
can plug, unplug or exchange to 
another language in seconds. 
No other systems have yet been 



able to come close to this ad- 
vantage. For example, with the 
Apple or the Radio Shack 
TRS-80, once the language firm- 
ware is installed, you are stuck 
with it, like it or not. It is almost, 
but not quite, impossible to 
change them. However, we (the 
users of Sorcerer) should re- 
mind Exidy that if they cannot 
provide other languages sooner, 
there will be a lot of complaints. 



Are you listening, Exidy? 

The second reason I chose 
the Sorcerer was its user-de- 
fined graphics keys, which are 
not shown in other systems. If 
you are thinking of getting into 
graphics, and your system does 
not provide this feature, then 
you will have to spend more 
money to buy disks and pro- 
grams (as with the Apple II). 

Once, when I was in a down- 




Photo 1. Chinese characters on the Sorcerer. 



town Portland computer- 
camera store (I am a shutterbug, 
too), the salesman tried to sell 
me an Apple computer. He said 
that his store conducted a six 
month's market research before 
deciding to sell the Apple. He 
put a disk into the machine and 
showed me all the magic 
graphics on the screen. He al- 
most believed that I was sold. 
But after he learned that I al- 
ready had a 32K Sorcerer, his at- 
titude changed 180 degrees. He 
scoffed, "You spent more than a 
thousand bucks for that?" He 
then offered to trade an Apple 
for my system. 

I was surprised, not only at 
his bad sales approach, but also 
his ignorance. Despite the six 
month's study, he missed the 
great features of the Sorcerer. 
By the way, I an not criticizing 
the Apple, but rather that sales- 
man and the store owner. 

The Sorcerer as a Ping-Pong 
Diplomat 

The instruction manuals that 
come with the Sorcerer tell you 
how to use the user-defined 
graphics. If you happen to be 
Japanese, you can put the entire 



32 Microcomputing January 1980 



Japanese alphabet into it, and 
then type (or print out) a letter 
to your loved ones. The Sorcerer 
also accommodates all other 
alphabetical languages. 

But I am neither Japanese nor 
a Yankee; I am Chinese. "Oh, 
well," as you Yankees would 
say, "the Chinese don't use the 
alphabet. Besides, they read 
and write backwards." True, we 
do not use the alphabet, but in- 
stead we use two-dimensional 
(square) graphical characters. 
According to scientists, the hu- 
man eye can accept a pictorial 
message easier than a linear 
one. Besides, a quarter of the 
world's population is doing it. 

However, we all paid a higher 
price for this precious cultural 
gem: We spent considerable 
time just learning and practicing 
to write the characters. For each 
character, each stroke, se- 
quence and even every dot 
should be placed exactly right. 
No mistakes are allowed; other- 
wise you may end up expressing 
just the opposite of what you 
meant. Because of its unique 
features, we also don't have 
portable typewriters for our lan- 
guage. Let me tell you about the 
typewriter used in Taiwan, my 
homeland. 

Typing a letter requires using 
a box about 2 feet by 2 feet con- 
taining about 2000 types, each 
with an imprinted character. The 
operator has to move a drum to 
the desired character position 
and press at the bottom to trig- 
ger the pick-up-and-hit-the-paper 



128 64 32 16 8 



I 

2 
3 
4 

5 
6 

7 
8 



mechanism. Just think how 
heavy 2000 lead-antimony-tin 
alloy types are. Maybe this is 
why there are no portable type- 
writers for the Chinese lan- 
guage; they would sacrifice the 
beautiful calligraphy. 

My parents always said my 
handwriting was so terrible that 
they could not read my letters. 
So I made up my mind to give my 
parents, and the Chinese peo- 
ple, a good solution: a portable 
Chinese typewriter! 

Sorcerer helped me to bring 
that dream one step closer to 
my long-desired goal. After 
tinkering with the machine for a 
while, I discovered (if the people 
at Exidy have not already ac- 
complished this) a way to define 
the graphics keys without using 
the monitor program. With the 
BASIC language, you can define 
the desired graphics and save 
them with your main program 
without first loading the 
graphics through the monitor 
and doing your program through 
the BASIC. Plus, you can 
change the graphics within your 
BASIC language. This really 
simplifies the process. 

Changing the Graphics 

1. You still have to use the 
section paper to draw your 
graphics symbols. 

2. Add up the numbers by 
decimal, not hex. The rightmost 
column is 1. Each subsequent 
column to the left is doubled. 
The leftmost column is 128. See 
Fig. 1. 









































































■ 


L 
















HZ HZ 


L 













HEX 


DECIMAL 


00 





38 


56 


44 


68 


82 


I 30 


82 


I 30 


44 


68 


28 


40 


EE 


238 



Fig. 1.8x8 dot matrix and data for Q. 



100 READ A 

200 FOR J - 1 TO 8 

250 READ B 

300 POKE (W + J),B 

400 NEXT J 

500 POKE A N 

600 DATA 3888,0.56,68,130,130,68,40,238 

700 END 

Program 1. BASIC program to define graphic symbol Q. 



3. See Program 1 to put Q onto 
the screen: In line 300, W + J 
values should be equal to the 
memory addresses (eight bytes). 
If you want to put Q into key 192 
(!key), then let W= -513. For 
the 193 key ("key), let W = - 505, 
etc. In line 500, A is the position 
that you want this graphic to be 



placed on the screen; N is the 
key number. (Try key 192; you 
will see the omega sign.) If you 
do not use POKE you can use 
the PRINT statement(s) to print 
it out. If so, you should omit the 
first number (3888) in line 600. 
Also, scratch line 100. 
4. Make sure all the numbers 



l 50 FOR X = l TO 30 : PRINT : NEXT 

160 N = 

170 RESTORE 

180 W = 1025 : = 128 : P = 129 : Q = 130 : R = 131 

200 IF N = 32 GOTO 160 

250 GOTO 500 

260 N = N + 1 

270W = W-32:O = O + *4:P = P + *4:Q = Q + *4:R = R + *4 

280 GOTO 200 

500 READ A 

510 FOR J = 1 TO 32 

520 READ B 

530 POKE ( J - W ) , B 

5*40 NEXT J 

550 P0KE-A,0:P0KE(1-A) ,P :P0KE (6*4-A) ,Q:P0KE (65-A) ,R 

560 GOTO 260 

1080 DATA3888, 0,1, 1,1, 1, 31, 17, 17, 0,0, 0,0, 2*40, 16, 16, 17, 17, 31 

1082 DATA1, 1,1, 1,0, 16, 16, 2A0, 0,0, 0,0,0 

1100 DATA388i*, 2, 1, 0,0, 127, 16, 16, 8, 0,0, 128, 0,252, 16, 16, 32,8,14, 2 

1102 DATA1,2,*4,2*4,0,32,6*4,128,0,128,6*4,*48,0 

1120 DATA3880, 0,32, 32, 2^9, 3^4, 2*48, 169, 170, 32, 80, 136, 4, 250, 0,1 96 

1122 DATA8*4, 251, 170, 170, 25 1,3*4, 250, 32, 0,2 12, 8*4, 8*4, 2 12, 68, 68, 76,0 

IIA0 DATA3870, 0,1, 1,1 7, 17, 17, 31, 1,0, 0,0, 16, 16, 16, 2*40, 0,1, 33, 33, 33 

11*42 DATA63, 0,0, 0,0, 8, 8, 8, 2*48, 0,0,0 

1160 DATA3872, 0,0, 0,7, 0,0, 31, 0,0, 0,0, 192, 0,0, 2*»0, 0,1, 5, 9, 17, 33 

1162 DATA5, 7, 0,0, 6*4, 32, 16, 8, 0,0,0 

1180 DATA3868, 32, 121, 137, 0,16, 255, 16, 255, 128, 2*40, 6*4, 6*4, 0,0, 12*4, 68 

1182 DATAH6, 255, U6, 255, 16, 255, 16, 0,68, 68, 72, 80, 65, 65, 126,0 

1810 DATA36U, 8, 8, 63, 8, 15, 0,1 27, 0,32, 32, 2*48, 32, 22*4, 0,252, 0,63, 33 

1812 DATA63, 33, 63,^4, 56, 0,2*48, 8, 2*48, 8, 2*48, 6*4, 56,0 

1830 DATA3610,0,1,1,1,1,63,1,1,0,0,0,0,0,2*48,0,0,2,*4,8,16,32,6*4,0 

1832 DATA0, 128,6*4,32, 16, 8, *4, 0,0 

1850 DATA3606, 0,0, 0,0, 0,0, 0,1 27, 0,0, 0,0, 0,0, 0,252, 0,0, 0,0, 0,0, 0,0 

1852 DATA0, 0,0,0,0,0,0,0 

1870 DATA3602,1,2,*4,9,23,36,71,132,0,I30,66,3'4,202,7*4,202,7*4,7,*4,*4 

1872 DATA11, 10, 18, 35, 0,202, 10, 2, 226, 3*4, *42 , 228,0 

1880 DATA3600, 8, 8,1 6, *49, 82, 1*48, 16, 16, 6*4, 6*4, 128, 0,25*4, 6*4, 6*4, 120, 16, 16 

1882 DATA1 6, 16, 16, 16, 16, 16, 6*4, 6*4, 12*4, 6*4, 6*4, 6*4, 6*4,0 

21*40 DATA3*48*4, 0,0, 3 1,1 6, 16, 3 1,16. 3 1,0, 0,2*48, 8, 8, 2*48, 128, 252, 32, 32 

21*42 DATA32,3 Z 4,36,*40,*48,0,128,128,6*4,32,16,10,*4,0 

2150 DATA3*482, 255, 128, 129, 191, 129, 9, 189, 165, 25*4, 2, 2, 250, 2, 2, 18, 18 

2152 DATA1 6*4, 189, 128, 188, 129, 128, 255, 0,1 '46,162,66, 170, 18, 2, 25*4,0 

2160 DATA3*480,0,0,8,7,0,0,63,0,0,0,0,22*4,0,0,2*48,0,2,*4,8,16,32,6*4 

2162 DATA0.0, 128,6*4,32, 16, 8, *4, 0,0 

2170 DATA3*478, 0,1, 1,1, 1,1, 1,1, 63, 0,0, 0,0, 0,0, 0.2*48, 1,1, 1,1, 1,1, 1,0 

2172 DATA0, 0,0, 0,0, 0,0,0 

2180 DATA3*476,0,0,0,3,0,0,2,2,0,0,0,192,6*4,6*4,6*4,6*4,*4,8,16,32 

2182 DATA6*4,0,0,0,32,16,8,*4,2,0,0,0 

2190 DATA3*47*4,8,16,*47,65,129,3U7,17,0,0,22*4,0,0,2*40,0,0,127,1 

2192 DATA1, 1,1, 1,1, 0,2*48, 0,0, 0,0, 0,0,0 

2200 DATA3*472.0,0,8,7,0,0,63,0,0,0,0,22*4,0,0,2*48,0,2,*4,8,16,32,6*4 

2202 DATA0.0, 128,6*4,32, 16, 8, *4, 0,0 

2210 DATA 3*470,7,*4,*4,*4,7,*4,*4,*4,22*4,32,32,32,22*4,32,32,32,7,*4,*4,*4 

2212 DATA8, 8, 16,0,22*4,32,32,32,32,32,96,0 

2220 DATA3*468, 0,1, 1,1, 1,1, 1,63, 0,0, 0,0, 0,0, 0.2*48, 1,1, 1,1, 1,1, 1,0 

2222 DATA0, 0,0, 0,0, 0,0,0 . n _ . . 

2230 DATA3*466, 0,0, 7, 8, 8, 8, 8, 11, 0,0, 2*40, 16, 16, 16, 16, 208, 8, 8, 8, 8, 7 

2232 DATA0, 0,0, 16, 16, 16, 16, 2*40, 0,0,0 -•«..... 

2650 DATA325*4, 17,37,69- 151 ,32,6*4, 1 75, 32, 0,70, 68, 200, 30, 3*», 212, 8 

2652 DATA39,36,36,36,36,*40,32,0,136,1*48,1*48,162 162,128 96,0 

2660 DATA3252,31,1,127,65,85,85,65,0,2*40,0,252,*4,8*4,8*4,*4,0,63,33 

2662 DATA63, 33, 63, 1,1. 0.2*48, 8, 2*48, 2, 25*4,0 

2670 DATA3250, 0,57, 7*4, 73, 72, 120, 72, 72, 1*46, 36, 72, 36, 1*46 6*4,128 

2672 DATA73, 123, 73, 73, 137, 137, 1.0.25A, 2, 7*4, 82 3^,90,25*4,0 . _ , a 

2680 DATA32*48, 16, 16, 32, 6*4, 129, 12*4, 68, 68, 32, 32, 6*4, 128, 0,25*4, 2, 2, 68 

2682 DATA76,8*4, 100,68,68, 12*4,0,66,3*4,3*4, 18, *4, 100,2*4,0 

2690 DATA32*46, 0,0, 0,0, 0,127, 8, 8, 0,16, 16, 16, 25*4, 18, 18, 18, 8, 8, 8, 255 

2692 DATA0, 0,1, 0,3*4, 3*4, 3*4, 162, 68, 8*4, 136 

2700 DATA32*4*4, 31, 17, 17, 17, 31, 17, 17. 17, 2*40, 16, 16, 16, 2*40, 16, 16, 16 

2702 DATA31, 17, 17, 33, 33, 65, 0,0, 2*40, 16, 16, 16, 16, *48, 0,0 

2710 DATA32*42,17,33,69,137,17,*49,81,1*45,25*4,2,2,25*4,2,2,25*4,*»,17 

2712 DATA17, 17, 17, 17, 17, 17, 0.68, 36, 16, 36, 68, 130. 0,0 

2720 DATA32*40,2,5 y 8,20,3*4,65,2,*4,0,0, 128,6*4, 128, 0,32, 80, 8, *49, 66 

2722 DATA0, 0,0, 7, 0,136, 68, *40, 16, 32, 192,0,0 

2730 DATA3238, 0,0, 0,0, 0,0, 0,3, 0,0, 0,0. 0.0. 0.0. 7. 15, 15, 7, 0,16, 15,0 

2732 DATA192, 160, 1*4*4,16,32,6*4,128,0 

27*40 DATA3236, *4,*4, 31, *4,*4, 7, *4,*4, 32, 32, 2*48 32,32,22^,32.32 

27*42 DATA7,*4,*4,127,2,*»,2*4,0,22U,32,32,25**,6** 32 2*4 

2750 DATA323*»,0,1,1,1,1,31,17,17,0,0,0,0,0.2*»0,16,16,17,17,31 

2752 DATA1, 1,1, 1,0, 16, 16, 2*40, 0,0, 0,0,0 

Program 2. Chinese character output demonstration. 



Microcomputing January 1980 33 



Double your memory 
. . . not the price! 



COMPARE AT S695 . . . Mi 



Remex RFD 4000/8' 
Floppy Disc Drive 
Double the storage! 
Double sided . . . 
Double density!! 

Offers quality and features found in drives costing 
much more! ■ Single or Double Density ■ Double-Sided Drive ■ Door 
Lock INCLUDED ■ Write-Protect INCLUDED ■ 180 Day Warranty 
■ Compatible with Shugart 850/851 ■ Low Power Operation ensures 
LONGER LIFE!! ■ Model RFD 4001 offers Data and Sector Separator 

AVAILABLE OPTIONS/ACCESSORIES 

□ Dual Drive Power Supply □ Single Drive Power Supply and Cabinet, $1 19.95 
and Cabinet, $139.95 1 1nterface Manual, $2.95 

□ RFD 4000 Manual. $5 95 □ Drive Cabinet, $29.95 

SIRIUS SYSTEMS, P Box 9748. KnoxviHe. TN 37920 

Phone orders accepted 9 AM-7 PM (E S T ) 615/577-1072. please send the following 

D RFD 4000. $525 □ RFD 4001 . $539 / Q Check Q Money Order □ C D D MC D VISA Q AE 



NAfflF 



CARD # 



ADDRESS 



EXPIRATION DATE 



ClTY STATE TIP CARDHOLDERS SIGNATURE 

Add $7 00 per Drive for Shipping/Handling Tennessee residents add 6% sales tax Foreign orders 

add 10% (payment in U S currency only) 



You don't have to buy it 
just for the low price. 

You can buy I 
it for the 
quality, too! 



If you've been looking 
for a less expensive floppy 
disc drive, but not wanting to 
sacrifice quality - your search is over! 

You get both in the Remex RFD1000B! For 
only $395 look at what you get: ■ 8" Floppy 
Drive ■ Single or Double Density ■ Hard or 
Soft Sectoring ■ Media Protection Feature ■ 
Single Density Data Separator ■ 90 Day Fac- 
tory Warranty 

AVAILABLE OPTIONS/ ACCESSORIES 

D Door Lock $19 95 Q Dual Drive Power Supply. $91 95 Q Interface Manual. $2 95 
Q Write-Protect $19 95 Q Single Drive Power Supply, $69 95 [] Interface Adapter $12 95 
□ Connectors. $9 95 □ Drive Cabinet. $24 95 (Remex to Shugart) 



REMEX RFD1000B 




VOLUME DISCOUNTS AVAILABLE 



SIRIUS SYSTEMS, P Box 9748. KnoxviHe. TN . 37920 

^ S113 pr, o n e Orders accepted 9AM-7PM (EST) 615/577-1072 

□ Check □ Money Order n C D QMCQ VISA □ AE 



NAMT 



ADDRESS 



CARD # 



EXPIRATION DATE 



CITY 



"sTaTT 



ZIP CARDHOLDERS SIGNATURE 



I 2 

3 4 



DECIMAL 






























DECIMAL 


8 




















i 










32 


8 






























32 


63 














248 


8 




























32 


15 




















224 




































127 










252 


o 





























63 






















248 


33 






L 
















8 


63 


















248 


33 






i i 














8 


63 






















248 


4 
























64 


56 






1 


















56 









!_ ± 
























































Fig. 2. Chinese character in a 16x16 dot matrix. 



L A hh fn.°? PCr DnVe f ° r Sh, PP ,n 9 /Handl,n g Tennessee residents add 6% sales tax Foreign orders 
add 10% (payment in U S currency only) 



used in this program are 
decimal, not hex. 

Chinese Character Generation 
and Output 

First, enter the program, 
Chinese Character Output 
Demonstration (CSAVE name: 
CHI32). Make sure there are no 
mistakes when you enter the 
long data statements, such as 
using "." instead of "," between 
two numbers. Then type RUN 
(and RETURN). See Photo 1 for 
comparison. It's obvious that 
cramping a Chinese character 
into an 8 x 8 dot matrix is not 
reasonable, so I used a 16 x 16 
dot matrix for each Chinese 
character (Fig. 2). Each quarter 
of this 16x16 matrix is num- 
bered 1,2,3 and 4, starting at the 
upper left-hand corner. Each 
quarter is further divided into an 
8x8 dot matrix as the Sorcerer 
will do. 

If you can understand Pro- 
gram 1 (for the omega sign), you 
should not have too much 
trouble understanding this one. 
I put line 150 into the program to 
clear the screen first, since I 
have not discovered the "screen 
clearing" statement for the 
Sorcerer yet. (Does anyone 
know?) Line 200 is used to limit 
the output numbers of the char- 
acters to less than 32 for this 
demonstration. I tried to put 
more characters on the screen, 



but have not had any success 
yet. The problem is that 32 
characters will use up 128 (16 x 
8) user-definable graphics keys. I 
wonder if the people at Exidy 
know a way (in BASIC, please) to 
change the data for each key 
without wiping out the earlier 
graphics data. I tried several ap- 
proaches, but if I try to change 
the data, then all the characters 
on the screen will also change 
to identical characters. I end up 
with a screen full of the same 
characters. 

Conclusions 

By the way, the translation of 
the characters in Photo 1 is: 

Chinese Character Output Demonstration 

By Timothy Huang 

June 10 of the year 68 of the Republic of 

China. 

The usages of Microcomputers are many, 

one of which . . . 

Before I try another program 
that can handle more char- 
acters, I wonder if anyone has 
ever encountered the error 
message: ? MO ERROR M XX- 
XX. After consulting the list of 
Appendix D: Error Messages of 
the Sorcerer of "A Short Tour of 
BASIC" from Exidy, I cannot 
find out what it means. 

Well, if anyone who can use 
this program would like to share 
his or her discoveries about the 
special graphics powers of the 
Sorcerer, I would appreciate 
hearing from you. ■ 



At Intersystems, 

dump" is an instruction. 

Not a way of life. 



(Or, when you're ready 

computer be 




We're about to be gadflies again. 

While everyone's been busy 
trying to convince you that large 
buses housed in strong metal 
boxes will guarantee versatility 
and ward off obsolescence, we've 
been busy with something better. 
Solving the real problem with the 
first line of computer products 
built from the ground up to con- 
form to the new IEEE S-100 Bus 
Standard. Offering you extra ver- 
satility in 8-bit applications today. 
And a full 16 bits tomorrow. 

We call our new line Series 
II™ And even if you don't need the 
full 24-bit address for up to 16 
megabytes (!) of memory right 
now, they're something to think 
about. Because of all the perform- 



ance, flexibility and economy 
they offer. Whether you're looking 
at a new mainframe, expanding 
your present one or upgrading 
your system with an eye to the 
future. (Series II boards are com- 
patible with most existing S-100 
systems and all IEEE S-100 Stan- 
dard cards as other manufacturers 
get around to building them.) 

Consider some of the fea- 
tures: Reliable operation to 4MHz 
and beyond. Full compatibility 
with 8- and 16-bit CPUs, pe- 
ripherals and other devices. Eight 
levels of prioritized interrupts. Up 
to 16 individually-addressable 
DMA devices, with IEEE Standard 
overlapped operation. User-selec- 
table functions addressed by DIP- 
switch or jumpers, eliminating sol- 
dering. And that's just for openers. 

The best part is that all this 
heady stuff is available nowl In 
our advanced processor — a full 
IEEE Bus Master featuring Memory 
Map™ addressing to a full mega- 
byte. Our fast, flexible 16K Static 
RAM and 64K Dynamic RAM 
boards. An incredibly versatile and 



S-100, will your 
you?) 

economical 2-serial, 4-parallel 
Multiple I/O board. 8-bit A/D-D/A 
converter. Our Double-Density 
High-Speed Disk Controller. And 
what is undoubtedly the most flex- 
ible front panel in the business. 
Everything you need for a com- 
plete IEEE S-100 system. Available 
separately, or all together in our 
new DPS-1 Mainframe! 

Whatever your needs, why 
dump your money into obsolete 
products labelled "IEEE timing 
compatible" or other words peo- 
ple use to make up for a lack of 
product. See the future now, at 
your Intersystems dealer or call/ 
write for our new catalog. We'll 
tell you all about Series II and the 
new IEEE S-100 Bus we helped 
pioneer. Because it doesn't make 
sense to buy yesterday's products 
when tomorrow's are already here. 




Ithaca Intersystems Inc., 
1650 Hanshaw Road/RO. Box 91, 

Ithaca, NY 14850 
607-257-0190/TWX: 510 255 4346 




Using Five-Level Teleprinters 

with a TRS-80 



Why spend a kilobuck on a fancy printer when surplus 15s and 28s abound. Baudot lives on! 



Brian Bateman 
PO Box 399 
Sharpes FL 32959 



Unless you are one of the 
lucky ones, you don't have 
a lot of money to spend on a 
personal computer system. 
Yet, in spite of the groans from 
your bank account, and maybe 
your wife, you Invested In the 
Radio Shack "bare essentials" 
TRS-80 Level II 16K machine. 
After all, who really needs 
those extra goodies such as a 
line printer, which can cost 
more than the computer itself? 
Within a couple of months, 
you are operating your system 
with a fair degree of con- 
fidence. It is not until you have 
to debug one of your "biggie" 
programs or print a biorhythm 
chart that you start to ap- 
preciate the real worth of hard 
copy. Still, it might be difficult 
to justify upwards of $1600 for a 
printer. But all is not lost, since 
I am going to show you how you 
can have hard copy for your 
machine at a very reasonable 
price. 

The Radio Shack TRS-80 has 
the printer interface in its ex- 
pansion interface. It also has 

36 Microcomputing January 1980 



sockets for 32K more memory, 
an extra cassette interface, a 
real-time clock and a single 
chip disk controller. So just to 
get the printer interface you 
have to buy a box costing $300, 
which is definitely a bit much 
for the guy who just wants hard 
copy. Even without this ex- 
pense, the printers themselves 
are not inexpensive. Radio 
Shack sells one for close to 



$1300, which represents a 
single expense of more than 
the total you have so far in- 
vested in the system. 

Teletype for Your TRS-80 

Fortunately, some of the 
older Teletypes are becoming 
surplus items and are being 
sold at very reasonable prices. 
Probably the most abundant of 
these Teletypes are the five- 



level Teletype Models 15 and 
28. 

The Model 15 was last manu- 
factured in 1957, and about a 
quarter million were produced. 
It is a slow machine, typically 
60 wpm. This speed, as with all 
five-level Teletypes, is the max- 
imum speed, i.e., if no shifted 
characters are printed, since 
the Teletype must waste one 
character time in order to per- 















FIGURES 






























LETTERS 














9 


CR 


5 


blk 


•PC 


# 


1 









CR 


T 


blk 


• PC 


H 


N 


M 


i r 


CR 




9 




blk 




tpc 




* 




7/8 















CR 




T 




blk 




•PC 




H 


N 


M 


9 L 


CR 




5 




• 


> 


•PC 


% 





















CR 




T 




blk 


+ 


•PC 




H 




N 




M 




IIOOO 


OIOOO 


10000 


00000 


00100 


10100 


01100 


III 000 




IIOOO 


OIOOO 


10000 


00000 


00100 


10100 


01100 


IllOO 


p 


$ 


"(♦) 


3 


btl(') 


6 


i 


/ 




8 


D 


z 


E 


S 


Y 


F 


X 


5/8 




$ 








3 




' 




6 




1/4 




/ 






B 




D 




z 




E 




S 




Y 




F 


X 










♦ 




3 




btl 


s 


6 








/ 






B 




D 




z 




E 




s 




Y 




F 




X 




MOOI 


01001 


10001 


00001 


00101 


(0101 


01 1 01 


IMOI 




1 100 1 


01001 


10001 


00001 


00101 


10 10 I 


01 101 


II 101 


a 


4 


) 


LF 


8 







; <■> 




G 


R 


L 


LF 


1 


P 


c 


V 


a 




4 
4 




3/4 




LF 

LF 




8 

8 










1/8 




3/8 






G 
G 




R 
R 




L 
L 




LF 
LF 




I 
I 




P 

P 




c 
c 




V 
V 


1 


IIOIO 


01010 


10010 


00010 


001 10 


101 10 


onto 


II 110 




IIOIO 


01010 


IOOIO 


00010 


00110 


101 10 


OHIO 


III 10 


fig 


'(btl) 


2 


- 


7 


1 


( 


let 




fig 


J 


w 


A 


u 





K 


Itt 


fig 




btl 




2 




- 




7 




1 




1/2 




Itt 






fig 




J 




w 




A 




u 









K I — 


Itt 1 — 


fig 


< 






2 








7 




1 








Itt 






fig 




J 




w 




A 




u 









K 




Itt 


• 


1 1 1 I 


IOOIO 


1001 1 


000 II 


001 II 


ION 1 


OHM 


1 1 1 1 1 


1 101 1 


IOOIO 


1001 1 


000 II 


001 II 


10 II 1 


Oil 1 1 


HHI 



Communications (alternate char) 
Standard 



Btll Systtm (TWX ) 
Stock Market 

Weather Code 

Baudot 5-Bit Codt 



sptcial 

modified 
chorocter 
(If any) 



NOTE: "fig" - indicatts a shift to "uppercase" 
"Itt" - indicatts a shift to "lowercase' 
"blk" -is inttrprtted like a null 
"spc" -is tht spact 
"btl" -is tht btll 
"CR" -is tht carraigt rtfurn 
"LF" -is tht lint fttd 



LEGEND FOR EACH OF THE ABOVE 64 BLOCKS 



Fig. 1. Diagram of the Model 28 type box (viewed from character side). 



form the shift. Although slow, it 
gets the job done, producing a 
readable hard copy. 

The Model 28 (Photo 1) is the 
most desirable of the five-level 
machines, since it is faster 
(typically 75 or 100 wpm), 
reasonably quiet and still being 
produced, maW\ng service and 
spare parts plentiful. The only 
difference between the 75 
wpm and 100 wpm Model 28 is 
two gears, which can be ob- 
tained from Teletype service 
centers. 

All of these Teletypes can be 
purchased for between $50 and 
$200, depending on your re- 
sourcefulness and the condi- 
tion of the machine. This is a 
bargain, since the original price 
of these machines was from 
$2000 to $3500. The Models 15 
and 28 are both heavy-duty ma- 
chines capable of 24-hours-a- 
day operation. 

The primary disadvantage of 
the five-level machines is that 
they do not have the full ASCII 
character set; in fact, they have 
only about 54 characters. With 
some careful manipulation, 
however, you can substitute 
these characters for some of 
the ASCII characters that it 
does not have; after a little 
practice you will be able to read 
a five-level listing almost as 
well as an ASCII listing. 

Fig. 1 shows the five-level 
character set and how the bits 
are arranged for each charac- 
ter. Notice that each bit pattern 
has two key-codes assigned to 
it. This demonstrates that a 
particular code is interpreted 



"1 



differently depending on 
whether or not the Teletype is 
currently in a shifted or un- 
shifted condition. In order to 
change this condition, you 
must send either a "letters" 
(unshift) key-code or a 
"figures" (shift) key-code. 

Now you can see why that 
quoted speed was a maximum 
speed. For example, if the Tele- 
type is in an unshifted condi- 
tion and typing letters, then no 
shift would need to be sent, but 
if you had to type a number, 
then you would have to first 
shift then type the number. The 
machine would then remain in 
the shifted condition until 
either the letters code or a 
space code was sent. 

On most of the five-level 
Teletypes, every time a space is 
sent the Teletype automatically 
unshifts, no matter what its 
previous condition was. This is 
a waste of time when you have 
to type several numbers with 
spaces in between them. The 
Teletypes are set up to operate 
with or without this feature, but 
I suggest that you keep it in 
since this puts the machine in a 
periodic known unshifted con- 
dition. This allows the machine 
to synchronize itself with the 
computer without the need for 
extra wiring and hardware that 
would be necessary to allow 
the computer to check the sta- 
tus of the carriage or type box. 

How Five-Level Works 

Most of the five-level 
machines operate on a current 
loop, that is, a closed circuit be- 



1 



START BITS 


• 














* 














DATA BITS 




* 


* 


* 


* 


* 






* 


* 


* 


* 


* 




STOP BITS 














* 














* 



WORDS PER 
MINUTE 

60 
75 

IOO 



DATA RATE 
(BAUD) 

45 
57 

75 



CHAR /SEC 

6.0 
7 5 

10 O 



START AND DATA 
BIT TIMES 

22.0(iii 
18 O ms 

13.5 ms 



STOP BIT 
TIME 

31ms 
25ms 

19ms 



TYPICAL PROGRAM DELAY COUNTS FOR THE TRS-BO 

60 words /minute DELI 10 HEX 

DEL2 BB HEX 

DEL 3 02 HEX 

DEL 4 33 HEX 



100 words/minute 



DEL I OA HEX 

DEL 2 B8 HEX 

DEL 3 02 HEX 

DEL 4 22 HEX 




Photo 1. Teletype KSR Model 28. 



tween the power supply and the 
selector magnet. Data is trans- 
mitted to the Teletype by break- 
ing and closing this loop at 
carefully timed intervals. Just 
about all of these machines 
operate with a current of ap- 
proximately 60 mA in the loop, 
although some of the Model 
28s operate with a 20 mA loop. 
Fig. 2 shows a typical timing 
sequence for the letters R and 
Y. Also included is a chart 
showing the length of these 
times for the different Teletype 
speeds. Notice that the start bit 
is a break in the current loop, 
and after one bit time, the first 
bit of the transmitted character 
arrives. After precisely five bit 
times (six total), the current 
loop is forced closed for one 
stop bit time. This allows the 
machine enough time to set up 



for the next character. The 
times listed for the stop bit 
length are minimums. 

Actually, the stop bit length 
is unimportant as long as it is 
greater than or equal to the 
minimum; however, to avoid 
slowing the Teletype down too 
much, this time should be kept 
as close to the minimum time 
as possible. The transmission 
of alternating Rs and Ys is a 
good worst-case test of the 
five-level machine, paralleling 
the transmission of the As and 
5s in an ASCII machine. 

When you first get your ma- 
chine it will be wise to play with 
it a little bit before hooking it up 
to your computer. If your Tele- 
type has a keyboard, which 
most of them have, then you 
should hook the keyboard in 
series with the printing 



5VDC 



C2I* C20* 
C2I* C20* 



SELECTOR MAGNETS 
I32fl I32fl 



C22* C9* 

C22* CIS* CI27* 

o wv • o 



LINE 
RELAY 



275011 



CI28* 

CI7* lOOOfl 
"^ 2) ■ wv 



Fig. 2. Timing sequence for the letters R and Y. 



Fig. 3. Simplified wiring diagram for the Model 28 five-level 
Teletype. 

Microcomputing January 1980 37 




II 



13 15 17 



19 21 23 25 27 29 31 33 35 37 39 



nnnnnnnnnnnnnnnnnnnn 



Photo 2. Screw terminal strip (visible behind paper roll with cover 
lifted). 



mechanism In the current loop 
so you can type directly on the 
keyboard to the printing 
mechanism. In the event that 
you have a nonworking key- 
board or no keyboard at all, 
then you should connect a 
switch wired with insulated 
alligator clips in series with the 
current loop. 

Close the switch and turn on 
the Teletype, which should 
come on and be relatively quiet 
with only the hum of the motor. 
If, instead, it rattles like crazy, 
then the current loop is not 
closed. Even though the cur- 
rent is small in the loop, the 
voltage is 115 volts, so care 
should be taken when connec- 
ting and using the switch. 

Fig. 3 shows the typical cir- 
cuits for the Model 15 and 28 
five-level Teletype. I have in- 
dicated some good points for 
completing the 60 mA current 
loop. The numbers preceded by 
C represent terminal connector 
numbers on the screw-type ter- 
minal strip (Photo 2) inside the 
Teletype. This number when 
suffixed with + indicates an 
RO or KSR Model 28, and when 
suffixed by * indicates an ASR 



Model 28. 

Keyboard contacts for all 
standard Model 28 Teletypes 
are terminals C9 and C10. So to 
put the keyboard in series with 
the typing unit requires only 
that the jumper between C20 
and C21 be disconnected and 
then two jumpers (C9 to C20 
and C10 to C21) be installed. 
Terminal C10 is not shown in 
Fig. 3 since it is in the keyboard 
signal generator loop. 

Typically, the keyboard and 
typing unit are not connected 
together in their normal con- 
figuration as they would be in- 
stalled by Teletype. However, 
even though C9 and C10 would 
appear to be in different places, 
they are actually adjacent ter- 
minal connections on the ter- 
minal strip. 

To make this a working sys- 
tem, the Teletype interface 
should be connected to ter- 
minals C17 + (C128*), which is 
the " + " voltage, and 
C18 + (C127*), which is the M - " 
voltage. If your loop current is 
much lower then 60 mA and the 
Teletype does not print reliably, 
you can connect to terminal 
C22 + (C22*) instead of 



TO FIG. 6 




SYLVAN I A 
ECG 157 



INPUT 
FROM 
COMPUTER 
INTERFACE 




♦ 
-o 



068 M F 
250V 



470n 
I/2W 



SERIES 
CONNECTED 
TO 60 mA 
CURRENT 
LOOP 





u u u u u 


uuuuuuuuuuuuuuu 


2 4 


6 8 IO 


12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 


Pin 






No. 


Signal 


Description 


1 


RAS* 


Row address strobe output for 16 pin dynamic RAMs 


2 


SYSRES* 


System reset 


3 


CAS* 


Column address strobe output for 16 pin dynamic RAMs 


4 


A10 


Address line 


5 


A12 


Address line 


6 


A13 


Address line 


7 


A15 


Address line 


8 


GND 


Signal ground 


9 


A11 


Address line 


10 


A14 


Address line 


11 


A8 


Address line 


12 


OUT* 


Address line 


13 


WR* 


Address line 


14 


INTAK* 


Interrupt acknowledge output 


15 


RD* 


Memory read strobe output 


16 


MUX 


Multiplexer control output for 16 pin dynamic RAMs 


17 


A9 


Address line 


18 


D4 


Data line 


19 


IN* 


I/O input strobe 


20 


D7 


Data line 


21 


INT* 


Maskable interrupt 


22 


D1 


Data line 


23 


TEST* 


Tri-states the processor 


24 


D6 


Data line 


25 


A0 


Address line 


26 


D3 


Data line 


27 


A1 


Address line 


28 


D5 


Data line 


29 


GND 


Signal ground 


30 


DO 


Data line 


31 


A4 


Address line 


32 


D2 


Data line 


33 


WAIT* 


Processor wait for slow memory 


34 


A3 


Address line 


35 


A5 


Address line 


36 


A7 


Address line 


37 


GND 


Signal ground 


38 


A6 


Address line 


39 


GND 


Signal ground 


40 


A2 


Address line 



Fig. 5. Expansion port edge card (viewed from rear of TRS-80) and 
pin-out designations. 



Fig. 4. Teletype interface. 
38 Microcomputing January 1980 



C18 + (C127*), which bypasses 
a resistor, thus increasing 
the loop current. There is a 
jumper between C9* and C127* 
as shown, so C9* can be used 
instead of C127* if it is more 
convenient. 

The Model 15 is extremely 
simple with respect to its wir- 
ing. It has a two conductor wire, 
which is connected to the 
selector magnets on one end 
and a one-quarter inch phone 
plug on the other end. The 
keyboard is connected to 
another one-quarter inch phone 
plug the same way. If the 
Teletype does not come with a 
power supply, then you must 
build a 120 mA, 115 volt dc 
power supply with about a 6000 
Ohm, 25 Watt resistor in line to 
control the loop current, which 
should be adjusted to 60 mA. 
The selector magnets, the key- 
board, the Teletype interface 



and the power supply should all 
be connected in series with 
each other to form the working 
system. 

Once you have finally closed 
the loop, type on the keyboard 
if you have hooked it up, or 
open and close the switch rap- 
idly and the Teletype should re- 
spond by typing some charac- 
ters. At this point, it doesn't 
matter what it types, just so it 
types. If it passes this test, you 
can feel reasonably confident 
that the computer will be able 
to "talk" to it. 

Basically, the computer has 
to "make and break" the circuit 
in precise patterns to instruct 
the Teletype as to what char- 
acter to print. To do this we 
need some kind of switch. 
Since I don't like any more 
mechanical things in the sys- 
tem than I have to have, I chose 
a high voltage transistor. It 



DOV 



(30) |/6 

74LS04 

OUT. 
(12) 



A5> 



1/3 
74LSI0 



/6 
74LS04 




(35) 



A4> 



DECODES DEVICE 
ADDRESS #3A 



(3D 



74LSI0 "I I4-Vcc (5V) 
74LS04J 7-6ND 

74LSI75 I6-V C C(5V) 
8-GND 



Tl 



A3> 



(34) 



A2> 



(40) 



1/6 
74LS04 

Oh 




1/3 
74LSI0 



Al> 



1/6 
74LS04 



(27) 



1/6 
74LS04 

4 



SDH^ 



1/4 fc 
74LSI75 



_ 22 M F 
•250V 



TO TELETYPE 
SWITCH INPUT 



AO 



THIS WIRE CAN BE A LONG 
TWO-CONDUCTOR WIRE 



(25) 



TO FIG. 4 



Fig. 6. Computer interface. 



doesn't have to handle much 
current, but it should have a 
voltage rating of at least 150 
volts. Fig. 4 shows this inter- 
face. It should be located rela- 
tively close to the Teletype. 
This interface actually does the 
switching of the 60 mA current 
loop. 

Now, we need to have some- 
thing to switch the transistor 
on and off. 

The Computer Interface 

On the back of the TRS-80 
keyboard unit and the screen 
printer port on the expansion 
interface, there is a 40-pin bus 
with 20 tabs on each side of the 
printed circuit board. The pin- 
out designations are shown in 
Fig. 5. 

The Z-80 microprocessor 
allows for 256 non-memory- 
mapped I/O devices to be con- 
nected to it. To "talk" to a 
device the Z-80 must place its 
"device address" (port ad- 
dress) on the lower eight ad- 
dress lines (Aq-A 7 ) and at the 
same time pulse the I/O sync 
line (OUT*). 

Fig. 6 shows the schematic 
for the computer interface. If 
you follow the logic of the 
diagram you will see that it is 
configured for device address 
3A (hex) or 58 (decimal). You 
can see that the diagram is ex- 
tremely simple and only re- 
quires three chips. I used LS 
low-power Schottky chips for 
low power; however, regular 
TTL chips would work just as 
well. This circuit requires a 
minimal 5 volt power supply 
(see Fig. 7). 

Once you have built this cir- 



cuit, which should be located 
near the computer, just con- 
nect a pair of wires between the 
two interfaces. Also connect a 
40-conductor ribbon cable with 
connector appropriately to the 
computer interface as shown. 
One note of caution here could 
save your having to rewire the 
ribbon cable! It seems that 
Radio Shack has labeled their 
40-pin bus upside down. In 
other words, pin 1 is really pin 2 
and pin 2 is really pin 1 on a 
standard connector and so on. 
Once you have triple-checked 
your wiring, you are ready to 
hook it all together. 

One preliminary check you 
can make on the interface is to 
turn on the Teletype and type in 
the BASIC command "OUT 
58,15." This should cause the 
Teletype to go quiet, except for 
the motor hum (i.e., close the 
loop). If it does not, then you 
have a problem somewhere. If 
this works OK, then issue the 
command "OUT 58,0." This 
should cause the Teletype to 
rattle. Again, issue the com- 
mand "OUT 58,15." If the 
Teletype again goes quiet, then 
you have a working system. 



I20 
VAC 





A • 

Rl 

50PIV 
2A 

C 












7805 




* 6 3V 

. 300mA 






♦ 


RGI 


T C2 5y 
REGULAT 




Pnrtc htt : 













Tl -Tronetormer, Radio Shock 273-I384 

Rl -Bridge Rectifier, Radio Shack 276-II5I 

CI -lOOO^E, I6V Capacitor, Radio Shack 272-I008 

C2 -I00>«F I6V Capacitor, Radio Shack 272-I005 

RGI -7805 Voltage Regulator, Radio Shack 276-I770 



Fig. 7. 5 volt power supply circuit. 



Software 

Listing 1 shows the five-level 
driver routine. In some places it 
is seemingly clumsy, but I 
wanted to make the code posi- 
tionally independent. In other 
words, without the use of an 
assembler, you can move this 
code around in memory, 
change two bytes (7F66 and 
7F67) to the beginning address 
of the lookup table, and it will 
run. This was an extremely 
useful feature in the early days 
when I didn't have an assembler 
and even after I did finally get 
one. The entire driver subroutine 
is composed of less than 256 
bytes of code. 

The first 5F (hex) bytes of 
code are the ASCII-to-five-level 
lookup table. The relative loca- 
tion in the lookup table, with 
zero as the beginning, repre- 
sents the ASCII character that 
it is equivalent to. For example, 
relative location 41 (hex) has 
the five-level equivalent for the 
letter A stored there. There are 
different types of information 
about the letter stored at that 
location, and each of the eight 
bits has its specific meaning 
(see Fig. 8). 

Now that the lookup table has 
been established, we have 
to break this information down 
and send it to the Teletype. 
Relative byte 60 (hex) is the 
location I reserved to store the 
condition of the carriage, that 



is, shifted or unshifted. This 
brings us to the entry point of 
the code, relative byte 61 (hex), 
which is labeled ENTRY. The 
code basically stores the ASCII 
character within the index in- 
struction located at the label 
CHAR and then checks to see if 
the character is a legal charac- 
ter (i.e., less than or equal to 5F 
(hex)). This check is done by add- 
ing AO (hex) to the ASCII 
character and checking for 
overflow. At label CHAR, the 
five-level equivalent for the 
ASCII character to be printed is 
loaded into the accumulator. 
The labels SPCK, LFCK and 
CRCK check for special cases 
(i.e., space, line feed and car- 
riage return), since a carriage 
condition check is not neces- 
sary for these characters. In 
fact, the space, as I mentioned 
before, also unshifts the car- 
riage regardless of its previous 

state. 

The label PRTCHR checks bit 
7 of the five-level character to 
see if the character requires 
that the carriage be in the 
shifted or unshifted condition 
prior to printing the character. 
It then dispatches it ap- 
propriately to be set up for out- 
put to the Teletype. 

In the location SHIFT, the 
shift status is stored in bit 0, 
and bit 7 being set signifies 
that two characters need to be 
output before returning to the 



Listing 1. Five-level TTY Driver routine. 



003A 
000A 
HBb 
0102 

0022 

7F0 8 
7F0 
7F0 1 



01000 
01010 
01020 
01030 
010*0 
110^1 



I 1ST ING 1 



BAUDOT TTY DRIVER 

IT tXPECTS CHARACTER TO BE IN REGISTER 



PORT 



40 
40 



01060 DEL 1 

01070 0EL2 
Midi 0EL3 
01090 DEL* 
01100 ; 

01110 

1120 OR IG IN 

01130 



EQU 
EQU 
EQU 
EQU 
EQU 

ORG 

OEFB 

OEFB 



3Ari 

0AH 
06 8H 

2 

22H 

7F0 0H 

4 0M 
4 0H 



Microcomputing January 1980 39 



7F02 40 


01141 


utFB 


40H 




7F03 41 


01150 


0EF6 


40H 




7F04 *§ 


01160 


OEFB 


4 0H 




7f0 5 4 


1170 


OEFB 


4 0H 




7F06 40 


01180 


OEFB 


40H 




7FI7 CA 


01190 


OEFB 


0CAH 




7F0 8 4 


01200 


OEFB 


4 0H 




7F|y 4 


01210 


OEFB 


40H 




7FIA 44 


01220 


OEFB 


4 4H 




7F td 41 


1230 


OEFB 


40H 




7FIC 41 


01240 


OEFB 


40H 




7F0O 5 


01250 


OEFB 


5 0H 




7F0E 4g 


01260 


OEFB 


4 0H 




7F0F 41 


1270 


OEFB 


40H 




7MI 41 


01280 


OEFB 


4 0H 




7F11 4f 


01290 


OEFB 


40H 




7F12 4 


01300 


OEFB 


4 0H 




7F13 4f 


01310 


OEFB 


40H 




7F14 41 


01320 


OEFB 


4 0H 




7F15 41 


01330 


OEFB 


4 0H 




7F16 41 


01340 


OEFB 


4 0H 




7F17 41 


1350 


OEFB 


40H 




7F18 41 


1360 


OEFB 


40H 




7F19 41 


13 70 


OEFB 


4 0H 




7F.U 41 


01380 


OEFB 


4 0H 




7F« 41 


1390 


OEFB 


4 0H 




7F1C 41 


01400 


OEFB 


4 0H 




If V 41 


01410 


OEFB 


4 0H 




7F1£ 4f 


01420 


OEFB 


4 0H 




7F1F ki 


01430 


OEFB 


4 0H 




7F20 48 


01440 


OEFB 


48H 




7F21 DA 


01450 


OEFB 


00 AH 




7F2 2 E2 


01460 


OEFB 


IE2H 




7F23 £2 


01470 


OEFB 


0E2H 




7F24 02 


01480 


OEFB 


00 2H 




7F25 41 


01490 


OEFB 


40H 




7F26 F4 


01500 


OEFB 


0F4H 




7F2 7 6 


01510 


OEFB 


00 6H 




7F28 OE 


01520 


OEFB 


0OEH 




7F29 E4 


01530 


OEFB 


0E4H 




7F2A 6 


01540 


OEFB 


00 6H 




7F2B F4 


01550 


OEFB 


0F4H 




7F2C 8 


1560 


OEFB 


00 8H 




7F20 C6 


01570 


0EF8 


0C6H 




7F2E F8 


01580 


0EF8 


0F8H 




7F2F FA 


1590 


OEFB 


0FAH 




7F30 EC 


01600 


OEFB 


0ECH 




7F31 EE 


01610 


OEFB 


0EEH 




7F32 E6 


1620 


OEFB 


0E6H 




7F33 C2 


01630 


OEFB 


0C2H 




7F34 04 


01640 


OEFB 


00 4H 




7F35 El 


1650 


OEFB 


0E0H 




7F36 EA 


01660 


OEFB 


0EAH 




7F3 7 CE 


01670 


OEFB 


0CEH 




7F38 CC 


1680 


OEFB 


0CCH 




7F39 F0 


1690 


OEFB 


0F0H 




7F3A OC 


1700 


OEFB 


00 CH 




7F3B FC 


01710 


OEFB 


0FCH 




7F3C OE 


01720 


OEFB 


0OEH 




7F30 OC 


01730 


OEFB 


00 CH 




7F3E E4 


1740 


OEFB 


0E4H 




7F3F F2 


01750 


OEFB 


0F2H 




7F4I 41 


01760 


OEFB 


4 0H 




7F4 1 46 


01770 


OEFB 


4 6H 




7F42 72 


01780 


DEFB 


72H 




7F43 5C 


01790 


OEFB 


5CH 




7F44 52 


01800 


OEFB 


5 2H 




7F45 42 


01810 


OEFB 


42H 




7F46 5A 


1820 


OEFB 


5AH 




7F4 7 74 


1830 


OEFB 


74H 




7F48 68 


01840 


OEFB 


68H 




7F49 4C 


1850 


OEFB 


4CH 




7F4A 56 


01860 


DtFB 


56H 




7F4B 5E 


01870 


OEFB 


5EH 




7F4C 64 


01880 


OEFB 


64H 




7F40 78 


01890 


OEFB 


78H 




7F4E 58 


01900 


OEFB 


58H 




7F4F 71 


01910 


OEFB 


70H 




7F5i 6C 


01920 


OEFB 


6CH 




7F5 1 6E 


1930 


OEFB 


6EH 




7F52 54 


01940 


OEFB 


54H 




7F5 3 4A 


1950 


OEFB 


4AH 




7F54 61 


01960 


OEFB 


60H 




7F5 5 4E 


019 70 


OEFB 


4EH 




7F56 7C 


01980 


OEFB 


7CH 




7F5 7 66 


01990 


DEFB 


66H 




7F5 8 7A 


02000 


OEFB 


7AH 




7F5 9 6A 


02010 


OEFo 


6AH 




7F5A 62 


02020 


OEFB 


62H 




7F5B OA 


02030 


OEFB 


00 AH 




7F5C 48 


02040 


OEFB 


4 8H 




7F50 4 8 


02050 


OEFB 


4 8H 




7F5E 48 


02060 


OEFB 


4 8H 




7F5F 48 


02070 


OEFB 


4 8H 




7F6f 00 


02080 SHIFT 


OEFB 







7F61 0DE5 


02090 ENTRY 


PUSH 


IX 




7F63 F5 


02100 


PUSH 


AF 




If 64 002111 7F 


02110 


LO 


IX,ORIGIN 




7F68 00 7778 


02120 


LO 


(IX+CHAR + 2-0RIGIN) 


»A 


7F6B L6A0 


02130 


AOO 


A ( 0A0H 




7F60 3104 


02140 


JR 


NC, START 




7F6F F1 


02150 


POP 


AF 




7F7f OOE 1 


02160 


POP 


IX 




7F72 C9 


02170 


RET 






7F73 C5 


02180 START 


PUSH 


BC 





7F74 5 


02190 




HUSH 


OE 


7F75 E5 


02200 




PUSH 


HL 


7F76 OO7E00 


02210 


CHAR 


LO 


A.CIX+0) 


7F79 11FEF6 


02220 




LO 


OE,0F6FEH 


7F7C 0E3A 


02230 




LO 


C.PORT 


7F7E FE4 8 


02240 


SPCK 


CP 


48H 


7F80 2006 


02250 




JR 


NZ ,LFCK 


7F82 OOCB6086 


02260 




RES 


0,0 X+SHIFT-ORIG IN) 


7F86 182A 


02270 




JR 


UT CHR 


7F88 FE44 


02280 


LFCK 


CP 


4 4H 


7F8A 2 826 


02290 




JR 


Z ,0 UT CHR 


7F8C FE50 


02300 


CRCK 


CP 


5 0H 


7F8E 2 00 7 


02310 




JR 


HI 9 PRTCHR 


7F90 3E44 


02320 




LO 


A.44H 


7F92 F5 


02330 




PUSH 


AF 


7F93 3E50 


02340 




LO 


A V 50H 


7F95 1810 


02350 




JR 


OOUCHR 


7F9 7 CB7F 


02360 


PRTCHR 


BIT 


7, A 


7F99 2054 


02370 




JR 


NZ ,SB IT 


7F9B OOCB6046 


02380 




BIT 


0,<IX+SHI FT -ORIGIN) 


7F9F 2 811 


02390 




JR 


Z 9 0UTCHR 


7FA1 OOCB6086 


02400 


UNSHF 


RES 


0,(IX+SHIFT -ORIGIN) 


7FA5 F5 


02410 




PUSH 


AF 


7FA6 7B 


0242t 




LO 


A,E 


7FA7 OOCB60FE 


02430 


OOUCHR 


SET 


7, (IX+SHIFT -ORIGIN) 


7FAB 1805 


02440 




JR 


UT CHR 


7FA0 OOCB60BE 


02450 


NEXT 


RES 


7, (I X+SHIFT-ORIG IN) 


7FB 1 F 1 


02460 




POP 


AF 


7FB2 2E0 7 


024 70 


OUTCHR 


LO 


L,7 


7FB4 0F 


02480 


LOOP 


RRCA 




7FB5 3010 


02490 




JR 


NC.SPACE 


7FB7 2 6FF 


02500 


MARK 


LU 


H v 0FFH 


7FB9 E0 61 


02510 




OUT 


CC) t H 


7FBB 060A 


02520 




LO 


B V 0EL1 


7FB0 C5 


02530 


T IM 1 


PUSH 


BC 


7FBE 06B8 


02540 




LO 


B f 0EL2 


7FC0 10FE 


02550 


0L1 


OJNZ 


OL 1 


7FC2 CI 


02560 




POP 


BC 


7FC3 10F8 


025 70 




OJNZ 


T IM 1 


7FC5 180E 


02580 




JR 


tNBlT 


7FC7 2600 


02590 


SPACE 


LO 


H,0 


7FC9 E0 61 


02600 




OUT 


(C) t H 


7FCB 060A 


02610 




LO 


B.DEL 1 


7FC0 C5 


02620 


T IM2 


PUSH 


BC 


7FCE 06B8 


263 




LO 


6, DEI 2 


7FD0 10FE 


02640 


0L2 


OJNZ 


0L2 


7F0 2 C1 


02650 




POP 


BC 


7F0 3 10F8 


02660 




OJNZ 


T IM2 


7F0 5 20 


02670 


END IT 


OEC 


L 


7F0 6 2 00 1 


02680 




JR 


NZ,L00P 


7F0 8 0602 


02690 




LO 


B ,DEL3 


7F0A C5 


02700 


T IM3 


PUSH 


BC 


7F0B 0622 


02710 




LO 


1,0 £1* 


7FD0 10FE 


02720 


DL3 


OJNZ 


0L3 


7F0F C1 


02730 




POP 


BC 


7FE0 10F8 


02740 




OJNZ 


T IM3 


7FE2 OOCB60 7E 


02750 


NCHAR 


BIT 


7, (IX+SHIFT -ORIGIN) 


7FE6 2 0C5 


02760 




JR 


NZ t NEXT 


7FE8 E1 


02770 




POP 


HL 


7FE9 1 


02780 




POP 


OE 


7FEA C1 


02790 




POP 


OC 


7FEB F1 


02800 




POP 


AF 


7FEC OOE 1 


02810 




POP 


IX 


7FEE C9 


02820 




RET 




7FEF 00 CB 6046 


02830 


So IT 


BIT 


0,(1 X+SHIFT-ORIG IN) 


7FF3 2 0BO 


02840 




JR 


NZ ,0 UT CHR 


7FF5 OOCB60C6 


02850 


SET 


SET 


0.OX+SHIFT -ORIGIN) 


7FF9 F5 


02860 




PUSH 


AF 


7FFA 7A 


02870 




LO 


M 


7FFB 1oAA 


02880 




JR 


OOUCHR 


7F61 


02890 




ENO 


ENTRY 


00000 TOTAL ERRORS 








SET 7FF5 










NCHAR 7FE2 










013 7FU0 










T IM3 7F0A 










0L2 7F0 










IIM2 7FCU 










EN8IT 7Fjp 










OL 1 7FC0 










TU4 1 7F80 










MARK 7FB7 










SPACE 7FC7 










LOOP 7F84 










NEXT 7FA0 










UNSHF 7FA1 










SB IT 7FEF 










OOUCHR 7FA7 










PhTCHR 7F9 7 










CRCK 7F8C 










OUT CHR 7FB2 










LFCK 7r6o 










SPCK 7F7E 










START 7F73 










CHAR 7F 76 










ENTRY 7F61 










SHIFT 7F60 










ORIGIN 7F0 










0EL4 0022 










0EL3 0002 










0EL2 00B8 










OEL 1 000A 










PORT 03A 











40 Microcomputing January 1980 



MALL 



X^IMA 



»^S51 



TRS 



I-Jystem PRODUCTS 



MALL 
YSTEM 



MACHINE LANGUAGE GAMES 



MODEL-II TRS-80 



AIR RAID, BARRICADE or RSL-1 : - $10.00 each, all 3 for $25.00 

Three popular machine Language games now at new Lower prices! 
ALL run on both Level-1 and Level-2 and require only 4K of 
memory. All may be converted for disk using DCV-1. 

AIR RAID: Shoot down high speed aircraft with a steerable 
ground based missile Launcher! Aircraft explode dramatically 
when hit, sometimes destroying other nearby planes! Score is 
tallied for each hit or miss, and the highest score is saved to 
be challenged by other players. Provides hours of fun for you, 
and a super program for entertaining friends! 

BARRICADE: "BREAKOUT" for the TRS-80! Break through 5-wall 
Barricade with high-speed ball and keyboard controlled paddle! 
Trap the ball among the walls and watch it destroy the 100 
blocks! Select 96 different options to challenge expert or 
beginner. 3 scores with the best of each saved to be challenged 
by other players. 

RSL-1: Enter graphic patterns with repeating keyboard! Save 
patterns on tape (4 furnished). Play LIFE, a game of birth, 
growth and death of a colony of cells. FAST - about 1 second 
per generation! Hours of fascinating patterns! 

ADVENTURE! $14.95 each, (3 or more, $12.50 each) 

Level-II 16K machine language versions of Adventure, the current 
rage of the big time-share computers! 6 versions: 
1 -Adventureland, 2-Pirate's Adventure, 3-Mission Impossible, 
4-Voodoo Castle, 5-The Count, and 6-Strange Odyssey. Each is a 
challenge that can take weeks to solve! Furnished on tape; 
convert to disk with DCV-1. 



UTILITIES 



RSM-2: 

RSM-2D: 



AN ADVANCED TAPE MONITOR FOR 16K TRS-80'S - $26.95 
THREE MONITORS FOR TRS-80 DISK SYSTEMS - 29.95 



22 commands to control your TRS-80 Z-80 processor! Examine 
ROM's, test RAM, program in machine language, read/write machine 
language tapes, and much more! SYMBOLIC DUMP will disassemble 
memory into Z-80 mnemonics! HEX and two ASCII memory dumps; 
EDIT, MOVE, EXCHANGE, VERIFY, FILL, ZERO, TEST, or SEARCH 
memory, read/write SYSTEM tapes, enter BREAKPOINTS, PRINT with 
TRS232 or Centronics, and read/write disk sectors directly! 
Radio Shack uses RSM; see page 4-17 of your disk manual! RSM-2 
tape loads at top of 16K LEVEL I or II; RSM-2D disk includes 3 
versions for 16K, 32K and 48K. 

RSM-2 RE LOCATOR: PUT RSM-2/2D ANYWHERE IN MEMORY - 9.95 

This new program loads with the RSM-2/2D "L" tape command, then 
asks you where you want RSM-2 located. Your answer causes a new 
version to be created and executed! Instructions included for 
saving your new versions. 

DCV-1: CONVERT SYSTEM PR06RAMS TO DISK FILES -$9.95 

EDTASM, The Electric Pencil, Air Raid, RSL-1, ESP-1, T-BUG, or 
nearly any SYSTEM tape can be executed from disk, even if it 
interferes with TRSDOS! DCV-1 loads system tapes into high 
memory and adds a block-move routine. TAPEDISK is then used to 
create a disk file. When accessed from disk, the program loads 
into high memory, moves itself to its correct address, then 
jumps there and executes! New version works with TRSDOS 2.2. 

BASIC-1P: LEVEL-1 BASIC WITH PRINTING! - $19.95 

Loads into the top 4K of 16K TRS-80' s and uses any LEVEL-I BASIC 
program or DATA tape (up to 12K in length) without conversion! 
NEW commands, LPRINT and LLIST to print with either our TRS232 
or the Radio Shack printer! Loads from tape or disk (furnished 
on tape). All LEVEL-I abbreviations and functions supported! 



CALIFORNIA Residents please add 6% state sales tax. 



Small System Software is currently developing several programs 
for the Model II TRS-80. An enhanced RSM monitor with many new 
features will be available about January. We are adapting CP/M 
(tm Digital Reaserch, Inc.) in conjunction with Lifeboat 
Associates. CP/M for the Model II will be a "standard" version 
and will run all existing CP/M software, including Cobol, 
Fortran, C-Basic, M-Basic, business and accounting packages, 
etc. Write for details! 

PROFESSIONAL SOFTWARE 

MICROSOFT SOFTWARE PACKAGES - $80.00 each, $150.00 for both 

ASSEMBLER PACKAGE: Macro Assembler uses Zilog mnemonics and 
produces relocatable code! Includes Linking Loader, Editor and 
Cross Reference Utilities. Requires 32K and 1 disk drive. 

FORTRAN PACKAGE: A true Fortran Compiler (faster than Basic). 
Linking Loader combines Fortran, Assembly and Library modules 
into one program! Editor and extensive Library are included. 
Requires 32K and at least 1 disk drive. 

THE ELECTRIC PENCIL FOR TRS-80 DISK SYSTEMS - $150.00 

THE ELECTRIC PENCIL FOR TRS-80 TAPE SYSTEMS - 99.95 

Write text, delete, insert, or move words, lines or paragraphs, 
save text on tape (or disk), then print formatted copy with our 
TRS232 or Centronics printer (RS-232-C with disk version). 
Right justification, page titling and numbering, transparent 
cursor and repeating keyboard. Upper case only, or lowercase 
with modification. Level-1 or 2 16K (tape version). 

CP/H OPERATING SYSTEM WITH TRS232 SOFTWARE - $145.00 

SMALL SYSTEM SOFTWARE/LIFEBOAT ASSOCIATES version of CP/M. 
Includes TRS232 and RS-232-C software, lower-case support, 
debounce, DCV-2 and other unique utilities. CP/M Editor creates 
and modifies all files. Assemble from disk, placing HEX and 
PRINT files back onto disk! Includes DDT (Dynamic Debugging 
Tool), PIP (Peripheral Interchange Program), and more! CP/M is 
a trademark of Digital Reasearch, Inc. 



PRINTER SUPPORT 

TRS232 PRINTER INTERFACE - $49.95 (+$2.00 shipping) 

Assembled and tested output port for TRS-30 printing. Use 
Diablo, Teletype, TI Silent or any RS-232 or 20-mil current loop 
ASCII printer. Expansion interface not required. Use with 
LEVEL-II BASIC, CP/M, BASIC-1P, ELECTRIC PENCIL, RSM-2/2D or 
your own programs! Standard cassette software included, or 
order new "FORMATTER" (below) for enhanced printer control. 

TRS232 "FORMATTER" SOFTWARE PACKAGE - $14.95 

Enhanced software for with Level-2 Basic and our TRS232. Page 
and line length control, form feed function, printer pause, 
"smart" line termination, indented continuation lines, keyboard 
debounce, echo screen to printer, etc. Includes BASIC cassette 
and BASIC and machine language source listings. 

PRINTER CONVERSION PACKAGES - $9.95 EACH 

Many programs do not include provisions for printing with either 
our TRS232 or the Radio Shack RS-232-C. We currently offer the 
following tapes for adding printing functions: 

RSM RS-232-C: Adds RS-232-C capability to RSM-2/2D 

PENCIL RS-232-C: For cassette version of Electric Pencil 
EDTASM PRINT: TRS232 and RS-232-C for disk/tape EDTASM 



OTHER TRS-80 PRODUCTS 

ESP-1: $29.95 Assembler, Editor & Monitor (8080 mnemonics) 
LST-1: 8.00 Listing of Level-1 BASIC with some comments 



SMALL SYSTEM SOFTWARE 



IMWUMMOM 



P.O. BOX 366 



NEWBURY PARK, CA 91320 



v* Reader Service— see page 227 



Microcomputing January 1980 41 



7ECA 

7F61 

7ECA 

7ECB 

7ECC 

7ECE 

7EO0 

7E02 

7ED4 

7E0 5 

7E0 8 

7E0A 

7E0D 

7EE0 

7EE1 

7EE3 

7Et6 

7EL8 

7EEA 

7EE0 

7EEF 

7EF0 

7EF3 

7EF6 

7EF9 

7EFA 

7EFB 

7EFF 

7ECA 

• llli 



7* 
67 
FEIB 

28iA 

FEIC 

2116 

AF 

DDB6H3 

2811 

OO7E03 

009614 

47 

3E0A 

C0 617F 

10F9 

1811 

C0 617F 

FE0O 

CI 

003414 

00 7E04 

DOBE03 

79 

CI 

003614 

C9 



L5 

L4 
L3 

L2 

BEG IN 
BAU00T 



TOTAL 

7EFB 
7EE1 
7EEA 
7E0A 
7ECA 
7F61 



Mill 

• 1111 

• 1121 

• 1031 
01040 
11*51 
01060 
01070 
01181 
01090 
01111 
01110 
01120 
01130 
01140 
01130 
01160 
01170 
1180 
01190 
01200 
01210 
01220 
01230 
01240 
01230 
01260 
01270 
1280 
1290 
01300 
01310 
1320 
1330 
01340 
01330 
01360 
013 70 
1380 
01390 

ERRORS 



l I ST I NG 2 



I BAUDOT HANOLER ROUTINE ••••• 

ITHIS IS A HANOLER ROUTINE FOR THE BAUDOT TTY 

;ANO IS TO BE USED IN CONJUNCTION WITH THE 

JBAUOOT ORIVER ROUT I NE 

; IT iILL FUNCTION WITH THE TRS-80 

; LEVEL II BASIC 

; IF MEMORY IS CHANGED AS FOLLOWS: 

I 4026HU6422) TO 0CAH(202) 



BAUDOT 
BEGIN 



L2 



L4 



L3 



00 



L3 



4027HC16423) TO 07EH(126) 

ORG 7ECAH 

EQU 7F61H 

LO A,C 

OR A 

CP 0BH 

JK Z ,L 2 

CP 0CH 

JR NZ ,L 3 

XOR A 

OR (IX+03H) 

JR Z f L 3 

LO A,(IX+03H) 

SUB (IX+04H) 

LO B,A 

LO A,0AH 

CALL BAUDOT 

OJNZ L4 

JR L5 

CALL BAUDOT 

CP 00 H 

RET NZ 

INC (IX+04H) 

LO A,(IX+04H) 

CP (IX+03H) 

LO A,C 

RET NZ 

LO <IX+04H>,0 

RET 

END BEGIN 



Listing 2. Five-level handler routine. 



calling program. This situation 
occurs when the carriage must 
be shifted or unshifted before 
the character can be printed, or 
whenever a carriage return is 
output, since a line feed must 
be issued with the carriage 
return. This is necessary since 
the TRS-80 does not output a 
line feed after printing a car- 
riage return. It expects the 
printer to automatically ex- 
ecute a line feed whenever it 
sends out a carriage return. 

Any jump to DOUCHR in- 
dicates that a double character 
transmission is about to occur. 
The label OUTCHR actually per- 



forms the transmission of the 
character to the Teletype, in- 
cluding the bit timing for the 
start, data and stop bits. The 
label MARK closes the current 
loop for one data bit time, and 
the label SPACE breaks the cur- 
rent loop for one start or data 
bit time. 

The label ENBIT checks to 
see if the stop bit has been 
transmitted. If it has then it will 
time the stop bit correctly. The 
label NCHAR then checks to 
see if another character is yet 
to be transmitted. The label UN- 
SHF issues an unshift (letters) 
character, and the label SET 



SHIFT BIT - 
(REQUIRED) 
O* NO SHIFT 
I ' SHIFT 




BAUDOT DATA 
BITS 



O 



BIT NUMBER 



STOP BIT 

(ALWAYS ONE) 



START BIT 

(ALWAYS ZERO) 



Fig. 8. Eight-bit configuration. 



issues a shift (figures) 
character to the Teletype. 

Now that the driver routine is 
finished, you are ready to start 
talking to the Teletype. At this 
point, however, you can only 
talk to it through your own 
machine-language programs. 
To do that you need only load 
the accumulator (register A) 
with the ASCII character that 
you wish to print and then call 
this driver routine as a sub- 
routine to your program. This is 
done with the instruction CALL 
7F61H, or CALL ENTRY if you 
assemble this driver with your 
program. 

While this is nice, most 
TRS-80 users will probably find 
little immediate benefit for this 
routine if it can only be used 
with their machine-language 
programs. Somehow, this driver 
needs to be linked to Level II 
BASIC and to the TRS-80 Edi- 
tor/Assembler 1.1 to be a real 
benefit. 

Let's take the case of Level II 
BASIC first. When the TRS-80 is 



powered up, it automatically in- 
itializes itself to communicate 
with the TRS-80 line printer 
through the expansion inter- 
face. Now we need to reinitial- 
ize the Level II pointers to our 
routine rather than its own. 
This pointer is located in the 
Lineprinter Control Block at 
decimal address locations 
16422 and 16423. We cannot 
just put the entry address of the 
driver routine here, since there 
are certain things we have to 
handle other than just print out 
the character itself. The TRS-80 
line-printer routine takes care 
of functions such as counting 
the number of lines printed, and 
if it receives the result of the 
command LPRINT CHR$(12), it 
can even skip to the top of a 
new page. Since I was going to 
the trouble of writing the driver, 
it seemed only reasonable that 
I should also include these fea- 
tures. 

Listing 2 shows the software 
interface between Level II 
BASIC and the driver routine. In 
actuality, this routine will be 
combined with Listing 1 and 
assembled together. In this 
situation, Listing 1 appends to 
Listing 2 to form what we might 
call the print routine. When an 
LPRINT command is encoun- 
tered by Level II BASIC, it 
breaks up what it is supposed 
to print into individual 
characters and then sends 
them to the print routine in 
Register-C one character at a 
time. 

Basically, this routine's total 
purpose in life is to copy the 
character from Register-C to 
the accumulator Register-A 
and then increment the line 
counter each time it sees a car- 
riage return until the count 
equals the lines per page 
count. When this occurs, the 
line counter is then zeroed out 
for the start of the next page. 
Both the lines per page count 
and the line counter are also 
stored in the Lineprinter Con- 
trol Block, respectively, at 
decimal locations 16424 and 
16425. 

The only thing left to do now 
is modify the pointer address in 
decimal locations 16422 and 
16423. This pointer requires 
two words of memory since it is 



42 Microcomputing January 1980 



a full 16-bit address and each 
word in memory is only eight 
bits. The order in which these 
locations are loaded is very im- 
portant. The Z-80 expects to 
see the least significant eight 
bits of the address in the first 
location and the most signifi- 
cant e\gn\ b\\s in the second 
location. To find out what we 
need to put in these locations 
requires some relatively simple 
calculations. 

Since the entry point to the 
handler routine shown in 
Listing 2 is address 7ECA (hex), 
the first thing to do is break it 
up into two parts (most signifi- 
cant and least significant). The 
most significant eight bits is 7E 
(hex) and the least significant 
eight bits is CA (hex). Now 
unless you are using disk 
BASIC, you won't be able to use 
this information directly; you 
will have to convert it to 
decimal. Converting any two- 
digit hex number to decimal re- 
quires that you multiply the left- 
most digit by 16 (assigning 
A = 10,B = 11, C = 12,D = 13, 
E = 14 and F = 15) and add it to 
the right-most digit. 

Following this, you will see 
that 7E (hex) is equal to 126 
(decimal) and CA (hex) is equal 
to 202 (decimal). At this point, 
changing the pointers consists 
of issuing two Level II BASIC 
commands: "POKE(16422), 
202" and "POKE(16423), 
126." Now the LPRINT and 
LLIST commands will write 
directly to your Teletype as if it 
were the TRS-80 line printer. 

For those of you who also 
want your assembler to list its 
output to the Teletype, the solu- 
\ ! ft/pi vs> wc* quftt as simple. 
Although, with the program 
shown in Listing 3, you should 
have no problems at all. 

This code to modify the 
assembler is divided into three 
sections. The first section 
beginning at the label SETUP 
simply takes the other two sec- 
tions and overlays them on top 
of the assembler in the proper 
places. The second section, 
beginning at the label START, 
should look familiar since it is a 
copy of the software interface 
between Level II BASIC and the 
driver routine. This routine is 
also needed with the assembler 



to make it perform its printer 
functions properly. 

The third section, consisting 
of the code associated with 
labels MEM1 and SETMEM, is 
mainly a nondestructive memo- 
ry size routine. It will go 
through memory looking for the 



last location of RAM. Once it 
finds that, it will subtract the 
amount of memory taken up by 
the print routine and then pass 
that result to the assembler at 
its memory size. This is 
necessary since the assembler 
goes all the way to the end of 



memory to store its symbol 
table. 

To make the patch to the as- 
sembler and then run it, reset 
the machine and answer the 
memory size query with a num- 
ber that will protect your print 
routine when you load it. In a 



7t 10 

FF5 5 

0130 

7E»0 

7E»3 

7EI6 

7E*9 

7EI6 

7lIc 

7E11 

7E14 

7E16 

7E19 

7E1A 

7E1B 

7E1D 

7E1F 

7E2 1 

7E2 3 

7E24 

7E27 

7E29 

7E2C 

7E2F 

7E3 8 

7E32 

7E35 

7E3 7 

7E39 

7E3C 

7E3E 

7E3F 

7E42 

7E45 

7E4 8 

7E49 

7E4A 

7E4E 

7E4f 
7E5« 
7E51 
7E5 2 
7E5 3 
7E54 
7E55 
7E5 6 
7E58 
7E5 9 
7E5A 
7E5D 
7E5E 
7E61 
7E63 
7EM 
fill 



2 119 7E 
11AA45 

mm 

EuB 

2 15A7E 

119546 

I1IAII 

EOS I 

C38A46 

79 

I? 

FE«8 

28IA 

FEIC 

2116 

AF 

UDB603 

2611 

00 7EI3 

U096M 

47 

3E0A 

C05 5FF 

1IF9 

1811 

CD5 5FF 

FEIO 

CI 

0D34M 

00 7EI4 

U0BEI3 

79 

CI 

003614 

C9 

23 

7E 

47 

Zf 

77 

8E 

71 

2 8F7 

AF 

C9 

C0E«45 

C5 

•13111 

E042 

C1 

I TOTAL 



I 1000 
01110 
11120 
11131 
11141 

• 1050 

1060 
01171 

1 1000 
01191 
111*0 
01110 
01120 
01130 

• 1140 

• 1150 
01160 
1170 

• 1180 

• 1190 

• 1209 

• 1210 
1220 
01230 
12*0 

• 125* 
01260 
01270 

• 1280 

• 1290 
1300 
13 10 
13 20 
1330 

• 1340 

• 1351 
01361 
13 70 
1380 
1390 
01400 
01410 

• 142« 
1430 
01440 
1450 
01460 
01470 
01480 
01490 
01500 
01510 
01520 

• 1530 
01540 
01550 

• 1560 
01570 
01580 
01590 
1600 
1610 
1620 

• 1631 
1640 
1650 
1660 
16 70 
1680 

• 1690 
01700 
01710 

ERRORS 



LIST I NG 3 



• • 



THIS PROGRAM HILL MODIFY THE TRS-80 ASSEMBLER 
SO THAT AN ALTERNATE PRINT ROUTINE 
CAN BE USED. THE ENTRY POINT OF THE 
PRINT ROUTINE SHOULO BE EQUATED TO -BAUDOT". 
"SIZE" SHOULD 61 EQUATED TO THE SIZE OF THE 
PRINT ROUTINE IN BYTES PLUS 20 EXTRA BYTES. 
THIS ASSUMES THAT THE PRINT ROUTINE IS LOCATED 
AT THE END OF MEMORY. 



YOU MUST LOAD 
AND THE PRINT 
THIS PROGRAM. 



BUT NOT EXECUTE BOTH THE ASSEMBLER 
ROUTINE BEFORE LOADING AND EXECUTING 



PROGRAM NAME — "ASMM0D 



I 

BAU00T 
SIZE 
SET UP 



START 



L2 



L4 



L3 



L5 



; 



MLM1 



SETMEM 



ORG 

EQU 

EQU 

LD 

L0 

LD 

LOIR 

LD 

LD 

LO 

LOIR 

JP 

L0 

OR 

CP 

JR 

CP 

JR 

X0R 

OR 

JR 

LD 

SUB 

LD 

LO 

CALL 

0JNZ 

JR 

CALL 

CP 

RET 

INC 

LD 

CP 

LD 

RET 

LD 

RET 

INC 

LO 

LD 

CPL 

LO 

CP 

LO 

JR 

XOR 

RET 

CALL 

PUSH 

LD 

SBC 

POP 

ENO 



7E0 0H 

•FF55H 

130H 

HL .START 

DE V 45AAH 

BC,SETMEM-START 

HL ,SETMEM 
0E.4695H 

6C,0AH 

468AH 
A,C 

A 

•BH 

Z,L2 
• CH 

NZ.L3 
A 

(I X+S3H) 
Z,L3 

A, (I X+03H) 
(IX+MH) 
B,A 
A,0AH 
BAUDOT 
L4 
L5 

BAUDOT 
•OH 
NZ 

(1X+MH) 
A, (IX+MH) 
(IX+I3H) 
A,C 
NZ 
(IX+MH) ,0 



HL 

A , (HL ) 

6, A 

(HL ) ,A 

(HL) 

(HL) ,B 
Z V MEM1 
A 

45AAH + ML* 1-ST ART 

B C 

BC,SIZE 

HL.BC 

BC 

SETUP 



MEM1 

L5 

L4 

L3 

L2 

SETMEM 

START 

SETUP 

SIZE 

BAUOOT 



7E4F 
7E4A 
7E3 
7E39 
7E29 
7E5A 
7E19 
7L0 
• 130 
FF55 



Listing 3. Assembler modification. 



Microcomputing January 1980 43 



16K machine, 32000 is a good 
answer for this print routine. 
Now type "SYSTEM" (enter) 
and then load the print routine. 
The assembler should then be 
loaded but not executed. Final- 
ly, this routine for the patch 
should be loaded. Now just 
type "/" (enter). Within a few 



moments, the assembler 
should clear the screen and 
print its usual sign-on mes- 
sage. The assembler is now 
ready to go and will dump all of 
its printer output to the 
Teletype. 

In order to use the print 
routine with Level II BASIC, a 



similar procedure is followed. 
You still protect memory with 
the same memory size answer 
as before and load the print 
routine into the machine under 
"SYSTEM." Then just press the 
"BREAK" key and "poke" the 
two locations 16422 and 16423 
as was discussed earlier. Final- 



ly, you have a completely oper- 
ational system. 

Five-Level Phase II 

The only real complaint you 
could have is that the output 
would be a little more readable 
to other people if you had a few 
extra characters in the charac- 



o. is 

Ui UJ — 

UJ tfl f> 

u. X 

— UJ »— 

_j ui ac <■> x 

»-<ji5*_i x ac u^n^* Kara* <&<-> x 

iJuj<in(ox_i>u.utowQ aaaa 2wujOuiwuu.jQc>^-t %MN <J» *■**%* + » i • •N,«»*-CMr«'»*>ir\\o' , -«oo\»«»* v ■*<*■• <>oUoiUi^(jX--)^jaz 

xxxxxxxxx xxxxxxxxxxxxxxxxxxxx 

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCVI»<M<»*vOuJ*XXCO\OCOXOuJ N <><^-*«»XujO«»00>OX«»<>JxXXXXXXXXXXXXXX 
O00cOOO-O-rt-OX>'»X)J0 0OOC0cOaDa0COcOa00000000Oa0t> **jJiU30u.aoJIJ«QUu.U.iJiJij0 3uJLjUtJU.QU.U.UOU.'O v O ft IU fi J (> J<*<«)'J»OlJ* ( 0<0 

r_o _o o a'AooaoisnocooQ t)(Oj]iot) ocoaiioifloaocooafi o _o o tiifliDcQiOcocflDaKOcoiiotO'OiOBaKDJicQ oti o doo ounn OfOia"0 otiai'OiniDtiO'nra 
00000000000000000,0000000000 000000 0.0000000000000000 0000000000000000000000 

»—»-*-»— r-*-^-f— *-^-«-»-«-*— *-r-»-»-»-^-r-»-»-»-T-*-f— r-»— «— *-r-r-CslCJCUCNJCv|C>4CS|CaCSICaCsJ<\ieNJ<>JCJ<NIC>JCNJCsJCyJ<\JCS|t\IC^ 



t> O O O O O j* 



»»»»»»»**^************* + #****QUJiJQ'J | ia3'*J f **Qt)lfcU.UllJUiyQUJuJUOlfcQU.U.'JtJlfc**f*U\iA*(>'* , 'iO*lftlA^ f *if\ 

»^<« a QUJU«^<>JiO*^^^CO»<«Ogul , x«^NiO*^>ON(a^< a OQuJ ; **^N^*'A\0^08(>< (a a Q uJU«^NiO*^vO^»(><«OQ 
U.U.U.l*»U.U.U.U.««»*"»"»«»«»««««»l«««*»^^«— r-^«— r-^^f-^^^f^^T-fVI^CSICMryJCVCM^C^ 

UJ UJ Ul Ul UJ Ul UJ UJ U, '*. I A. -*. Li. I*. I A. ia. U. 'A. 'A. U. I*. U. U. I A. U_ U. U. I k u_ U. u_ u_ U. u_ U> 1a. 1-4. 'j_ U. 'A. 'A. U. '-*. U. >^ U» U. U. U. l^ U. 'A. 'Jb '^ U_ '^ < A. < *. '.^ ' w U. U. U. U. ' *. u. u. u. u. u. u. u» u. u. u. 
U.U.U.U»U.U.U»U.I^U»U.U»U.U»U.U.U»U»U.I«»U»U»Ia»U»IwU»U.^Ia.I^U.U»U.U»U»U»U^ U.4*. U.U.U.U.U.U»U.U.U.'.>_ 















o 


»— 




























•— -J 


O 




























O -J Ul 


3 .£ 




























< Q — 












Ul 
















■<-J 


OOUJ^ 






K_ 






-J 








•* 








B-IO 






ui Z 


« 




3 








»— 








^ ►— 


Ul _J •« 






x c? 


^ 










>— 








Ul * 


XXX 






1 




»— 








UJ 








X CO 


»-»-<-> 






h- a> o 














o »— 


• 




n 


•— ►— ac 

— UJ 


co 

ac z >- 






=> u. Ul 


ac 

UJ 




% 








: 3x 


0O 




co 


UJ ►— 


O — OO 






Cfl o o * 






M 








1 




* 


Psj O 


u> 






Ul o — 


co 




O 








• ■<»- 


M 




O 


— • •< 


»— o 






ac S o -j 

I ac ac ac ui z 


— 


fr- 


O 








• en — 


OC 




_J 


-• -lac 


z uj ui 






09 


ee 


-J 








• « 


f— 




J ^*N ^N 


— • < ^ 


Ul CO — 






<-> o X X Z ui o 


Ul 













UJ 






o • *" 


>— — X 


t— u. 






u. x x gc — ac 

Z O O O _j X uJ 


* ac 


0. 


►— 




% 




x z 


UJ 




U. (MA 


Z> h_ <_> 


h- ac — 










O 




0) 




IllNO 


X 




«~ cm 


z 


— • Xo 






— U. O INI 


x 


♦— 


O 




c 




Z — 


»— 




</) w w 


O ul Ul 


ac uj o 






O •— ►- ^ «-> uj 


• — 










— ac ►- 






XXX 


»— ►— ac 


B<j9S • 






ac o oo z x •• 




0. 


X 




4m 

3 




h- o <-> 


X 




uJ ul 


o o 


* 






x a. a. a. uj — o 


ul 


N- 


ao 


^X X X 

Oo H- »— 




=>u. Z 


fc— 




o cpu. 

UJ ■ •» 


ui a- ^ 


>Siijj 






X o ►_ ►_ X •► — 









o 




O 3 


— 




z 


_j a. co uj 






Ok— O OO 


ac 


O 


O 


z co co ui 


v» 




OS UJ -> 


9 




ZqO 


— »- ^o 


-19 o 






*"* o o *■* •• 


ul O 




►— 




s. 




Z Z 






►— CO 


X z 


■ 




••> ••> 2 •• •*" **> X * 


» »— 


••> 






Q> 


«) 


OC — O 


Z 




< ►— ►— 


3ujq 


O «• Xo 


a 




/> tO *"* *N ■♦ #"N /N 


•_ 




_ 




^ 

C 




Ul »- O 


o 




X 


O _J ►- 


■ «ul 


o 




X • X X • X X 


ac oc 




^ 




2 


_j O ui 
OOZX 

Z QJ — — 


►— 


o c 

— CM -O 


3a. 


u. »- X 

— o 


1 


ul 




a ui 

ha 






CO 




(0 


• 


U«)W)NN 


JU. 3 


O UJ ul • 


X 


oo 


o*-_j ♦ n — + Xcc ac ♦ — ♦ ♦ 


>• O 


X X • X 


X 




.c 


»— 


X ►— 


Z 


•*: 


— -*■ -*■ 


<< 


UJIuJ 1 *) 


CO 


ul 


O SjZ • X_|^XX«*- (— x x^xo x 


k— «C 




X X X X 


co 


X QC o ^ 


3 


>o 


vO vO 


— CO u» 


a_ h- a. _i 


t 


u» 


• 0O *<Jn — * »— • *Z*iftZQM- •— •rsl — 


^— oc 


X Xco *** 


ul 


CO tO <0 CO 


5 


— 


ui ul O U> 




>••"*" 


<->l-0 


CO CO UJ 




m 


X 


m • oB CM CM 


X 


*#«# 


-j 


►— _i co ac 




— 


X *" ~ 


ul — 


x a 


1 






H- X 




|Bj 




o 




OO O 

a z ae 

3<uJul 


-J 


— 


° ^ s 


a. z 


CO hm UJ 


1 















■ 

CO 




_» 




» vO r« 


CO O O 


— — X • 








3„ 




u. 






— 


_J u 


►— • — 


»- <M 


ul 















<Z(0> 


« 


•J 


S • ^ 


-< »- • 


CO _| 


2 




-J l>l -J 


X ►_ 






no ~o ao 




tj — 




■» 


■•• * 


X — X 


— OO «uJ 


X 


eg 


ac co _J z 1 ►— k_ h_ 


CO 


00000 


* 


u. u. u, U. 


m 




<Oq£k Ji*. 


«" o oo 


XN«Q 


z 


acoac c »>ac a >acOacacoOoox~>acxo.ujZo c v.ouJouj 


Ul 


cr or cro cr 


Ul i^J Ul UJ 


** 




►— o 


■ ■ 


-I 


^ 


-ao(o 


f— Ul 




o-io<->->o->xo j co _j _i o a ->o o or — _#<-> _ 


0. 


UJ UJ Ul UJ Uj 


^ 


0000 


o> 




• OO 








< 


-1 » • 


fl 






« X 




z 






• — CO t— 








CO UJ UJ 


OuJ'J r " 








• Ul 




z 




e 




• — o 








-a. jtt. 


«»Q»J 


ac 










— 1 


z 


4m 




• — g o 

X z X 








X >- X >- 


-I O O Ul 


C9 




z 


• »— 




19 


— 


GO 










»—»—►—»— 


x» x a 


O 




— 


— 


»_ •- cm 1-0 «r 


Ul 


CJJ 
















ac 




CO 




ac _i -J -J -J 


CO 


■■ 


«J 




pm X ao 












a. 


M 


Ul CM ♦ ro rf\ 
CO -1 -J _J -1 


•«. •«. *a 


O Ul UJ Ul UJ 

••a. co 


• «h •«. •« 


ac 


















'O 




•• 


- CM K> •» tf\ 


\© *— co o\ •» *" 


' <NJ fO <• (A 


\0^aOc^«^CsJfO*-^\0« s -OOC»\'»'-CVirO<-irN\0' s -3JC7\'»r-OJO J rJ\NO' , -aOc>\a» 


r- CM tO 


♦ U\ VO !*• CO C> 1 


■» •• CM »0 ■* lA >0 

>0 ^O ^O 'O ^O vO vO 






















torn* u, u. **to ■♦ 






























>»<»-■ u. u> ^ ^ ^ <» 






























• ^«i»~ eo r ~ r ^ ^ • «/\ u» *™ UN • »*l^~oo •** 






























O\N(jCO u j«i A ,309QQN u jQ«tOQ l j« i: j QQ (^ *qO\ 

'*-aou.cMu»CMXc3<Moo-* , *'0»-»-ou.oa Q Qr«-oao 








CO 00 CO CO 




























«>♦♦■*• 


























<<CONCM 




*lf\ v <> N 
























"O ^co • 0* 




u_ U. • A. u_ 




























UJ Ul Ul Ul 






























u. u. u. u. 



44 Microcomputing January 1980 



MEW APPLE II 



® 




scoRoeeeee hi -score -eeeee 



FUNCTION PLOT 



$24.95 



~ ■? MYSTERY 
A = 38 POINTS 
4*1=28 POINTS 
=10 POINTS 



HIT ANY KEY TO ESCAPE 



APPLE INVADERS GAME 






I CHING 



$15.95 




ittttttttttttttttttttttttttttttxttttt 

QUESTION 92 SCORE-9 

itttttttttt tttttttt ************ ***«Jtt» 



MICHAEL IGOR PESCHKOHSKY (HIKE NICHOLS) 
HRECTED ANN BANCROFT IN -THE CRrOUrTE ' 
HER REAL NAHE HAS 

1 CYBELE ELLIOT 

? ALICIA MUNOERLANO 

3 ACNES HEAOMORE 

1 ANNA MARIA 1TALIANO 



ANSWER ? 



******* 

TIME * 2§{ 
******* 



TRIVIA BOX 



$19.95 




MOTO-CROSS 



$9.95 



[ 1 1 1 u 1 1 1 n 1 1 1 1 

fflSffiffl 



I 1 I I \\ I I 1 J 1-1.1 1JI1I1I1III) LLA-LI 

] m \ iffll ♦ I 



m*±miwm*i 



FRUSTRATION 



RIGHT PLAYER 



$9.95 




GUIDED MISSILE 



$15.95 




LASER BLAST 



$9.95 



MERCURY 
UENUS 
EARTH 
MARS 



RELATIVE SIZES OF THE NINE PLANETS 
PRESS ANY KEY TO SEE THE ORBITS. 




CASSETTE 



$15.95 




DISKETTE 



$19.95 



AND MORE... 

ACTIVE FILTERS $24.95 

ALIEN INVASION 9.95 

AMPERSORT II 15.95 

APPLE ALLEY 6.95 

BASEBALL 15.95 

BATTLEFIELD 9.95 

BREAKTHRU 995 

CHECK BOOK 34.95 

DATABASE MAILER 29.95 

DEATH RACE 15.95 

EARTH QUEST 19.95 

HOME BUDGET 24.95 

HOUSEHOLD FINANCE 24.95 

MINI GENERAL LEDGER 59.95 

MOUSE HOLE 6.95 

PEG JUMP 9.95 

RICOCHETTE 9.95 

STAR VOYAGER 15.95 

STUNT CYCLE 15.95 

All orders must include 3% postage and handling. California 
residents add 6% sales tax. VISA and MASTERCHARGE 
accepted. 

Apple II is a trademark of Apple Computers, Inc. 



THE PLANETS 



$15.95 



PROGRAMMA 
INTERNATIONAL, Inc. 

3400Wilshire Blvd. 
Los Angeles, CA 90010 

(213) 384-0579 
384-1116 
384-1117 ^P*» 

Dealer Inquiries Invited 



CHANGE FEATURES (N = N0) "> 

C00RDINATE<8-279>= 159 COLORC 9-? > = .; 

COORDINATED- 159) = 79 R0T< 9-64 >-6 9 

SCALE< 1-255)= 2 FULL GRAPH'N 



SHAPE BUILDER 



mm 



$19.95 



PPVIVWfV* 




SCORE A 



SCORE B 1 



BLOCKADE 



$9.95 



KNOCK DOWNS =0 
PUNCHES LEFT=3 



pflSSHES^T' 



BOXING 



$9.95 



50LU1H& FOR X 



■-8ft*98C-95] 

mat 



♦ 6a -9ec«ir 

1 l5X«6A-9*< 

I I5X=-6A»98C«368 

X-- 8521739I3A* 782688696C ♦ 3 13843478 

SOLVING FOR X 

,? ALGEBRA I FIRST DEGREE EQUATION SOI Ul k 



ALGEBRA I 



$15.95 




SPACE WAR 



$9.95 



&8WS-8 A <8g 




ORION 
THE HUNTER 



S1RIUS IS THE BRIGHTEST STAR IN THE SKY. 
UIEU L00K1NC SOUTH IN MARCH 
DONE* PRESS ANY KEY TO RESTART. 



SIRIUS 



$15.95 












ft 

i 

Q) 

CD 

TJ 


(Q 

QJ 

3 

TJ 



a 

c 


ct 

(0 




Photo 3. Installed type box with hammer over the + pallet. 



ter set. Of the characters that 
Radio Shack uses, the five-level 
Teletype is missing the <, >, %, 
= , +, *, @, and ., which I will 
have to agree are some very 
useful symbols to have. I finally 
decided that they would be 
useful enough to warrant some 
study on just how I might go 
about making the five-level 
Teletype print these charac- 
ters. 

I am by no means implying 
that the five-level Teletype is 
not useful without these char- 



acters, since I have been using 
one without them for a couple 
of years. In my opinion, the 
ability to have hard copy, even 
without these symbols, has 
been absolutely invaluable. 
However, I can still appreciate 
having them. 

I began to study the type box 
(see Photos 3, 4 and 5) on the 
Model 28 and its printing 
mechanism. Although I said the 
five-level machine only has 
about 54 characters, that was 
only partially correct. If you 




Photo 4. Type box with additional characters (pallets) installed. 



figure out how many combina- 
tions there are with five data 
bits, you will come up with 32, 
which will double if you figure 
in the shift. So if there are 64 
possible combinations, then 
why is there a difference of ten 
characters? Well, if you look at 
the type box in Fig. 1, you will 
see how the Model 28 type box 
keys are laid out. The figures 
and letters shift codes take up 
four characters — two in lower- 
case and two in uppercase. The 
blank takes up two characters, 
and the space, bell, line feed 
and carriage return take up one 
apiece for a total of ten 
"wasted" characters. 

This seemed unnecessary, 



so I decided to see if anything 
could be done about it. The clue 
was that none of these charac- 
ters positions in the type box 
contained any type keys, but 
when the character code was 
actually decoded by the Tele- 
type it still went through the 
motion of printing the charac- 
ter even though it was not 
there. What Teletype had done 
was to tie these decodes to 
what they call function levers, 
which operate certain mechani- 
cal functions not related to ac- 
tually typing a character (e.g., 
line feed, carriage return, etc.). I 
decided to give up some of the 
functions I didn't need to be 
able to print some extra 



O O- CTQC V)H 3> 



X >- 



m m o 

O O (X UJ 

oao: <- 
ac •< •< • _i 
oe * • t-ne 

xz ►- x 
i m 
o_ o 

N3Q J« 



CO 

o 

a. 



O Q 



«■ C_> lA j *■ x <» 
»"- sO so i/\ *• sO 



X X 



XX X X X 



o 

co 



0- 

ae 



ac 
o 



<o 



X CO 

ae 
CJ 



_l- 


CO 


<_> 




X 


=3 


o 




»— 




UJ 






"N. 


a- 




a. 




CO 




3 


f— 




^^ 


x 


u. 


ae 


z 


o 


■■ 


O 


^ 


o 


X 


u. 


<_9 


_J 


CO 










x 


ae 


** 


••k 


o 

UJ 


? 






X 


*— 






CJ 


u. 



j(j«<<(\J Q a)aooO'0 u. O 



«m ac 
♦ x x 
ac «■» »— 
x Xco 
x <* • 

U. CJ »C_> I 



CJ9 «»U_ X CO 

— ♦ *>_ <->ae ♦ _i 

ac x u. tx u. X x _j 

O— <» O X _J CJ _ X 



I 

CJ 



X 
CO 



a. 

CO 



ac 

x 

x 
<_) 



0C 

a. 



ac 



C9 

ae 



^ ac 

a. x 

»- X 

3 CJ 

O 

UJ 

as x 

«< o 

X 

CJ H- 

o a. 



o 

r 



-J o 

uj ae 



CO t 



co 



ae _j <-> 
x j x 



CJ uJ 

ro a 



• O. ao • »_ *^ a x O X •■ 
• uj •t_> rs(QC *z 



Xq O « 



a. 



<_> X 

X X 



PvJ UN 



♦— as 

X CO X .t Jt j 

»3«N Q£ «xZ uJ •U. • " 

: x o ■* x a. x a_ j **- p>j « r>i 



a. x a. t-> 



CO 



=c as 

CO X 

♦ <-> 

X i— 



o 

> • 



X 
CO 

♦ 

X 



>- «r>| * • — U_ •> ID u. * CJ 



CJ 
O •< 



a. u. 
CO u. 



■ ^ t— CO • 'N ►— 
•CJ — X • CO — 



ao-oaOGOooconoaaQOcoasco.noocoijootiX xxxx > x ■ . -r- . ^ 

u. u. u. u. u. u. u. u. u. u. u. u. u. u. u, u. u. u. co o a__COCOCOCO JW) co ~\ ~j *, _ cJco Zjo_ cj . "i "T 

^ij|j t j.ju/uJwuJujiJuiiJui 1 juJu(uj3QOQ£ouj3333 Q QQ a i a <ujai«^*a3aaa.a<a<xa.«i*«-«-«ij3a<Oa(r*a5<Ka5< 
oooooc30QoooooQQQooo-j<Ta.xa.o.a.a.jjj^OTO QC *o*o*ja.^*OTOjo^o*cjT* <0 * 



U. QC 



CO laJ 



v-O 



CJ 



5 








^ 


? 


ac 


■z 


9 


s 


ae 
X 




L^ 


UJ 


M 


X 


CO 


CJ 


CJ 


•j 


•< 


CJ 


CJ 


CJ o_ 


X 


o 


CJ 


CJ 


o 


■<. 


a. 




X 


»_ 


a 


^- o 


ae 


^ 


ae 


u> 


a 


—J 


a. 


>> 


CO 


►— 


ae 


o 


^o 


X 


a. 


a. 


-J 


a. 


CO 


»— 


•< 


-J 


a_ 


a 


O _J 


a 


CO 






vO 
QO 



vO 



^> UJ 

NO \S 









X <^ 
\C NO 

a uj 

■*• -*■ 

U. I A. 



< O O X> j) 19 



ir\ 






»T\ (TV 



NO 

lf\ NnO 

u. »*> o 

lA M» TV 

*r\ tf\ (A 

u. u. 



(NJ 



fO u. 
as ci 



ON i/\ 
CJ CJ 






*»■ <» -O U. ^ 

U. <■ 'a. u_ so 

'UM r ~u.'0O<»<t)N04-iA l r\'» 

aOQ^UJlJ^QQ 

3 a a *" • u. N J q 



NO NO 

t. ■» Qp ON >/> 

^wu«QQ*ui«uj«iJ«Mij ( «>u«aiiJq*'uj»uj < **(a«Q ( »aiAaja 

T ^^U,<NJCJ Q ^-| 4 .c\JU.CVJrOU.O»~U,CsjOfOO»"u-C\JU.C>J'"OrNj CvjQL^^CJ 



u- u. 
uj <» x •* aO ♦ f— UJ OJ sO uj 



<90 



vf\ UN ^O so 



CM * no ^ 
sO so so hJ 



uj >* csj ■*■ r~- 



aa a u. *" »o ir» 

^" r^ r^» aQ oo OO 



U.U.U.U.U.U.U.U.U.U.U.U.U.U.U.U. 



'-». u. u_ u. I*, u. ia. u. u» u. 



CO < (J ui • ^ ^ » < J u 
aOCOaOCOONONONONONONON 

L4.U.U.U.U.IA-U.U.I4. 



u. 
u> 

^^ on u. *■" ir\ '*" 

■^» »u. s Ou.« 

• u I*. • >o q a « 

, OJ • iO (M uj O ♦* 



<• «-UN 

_ -» sO u- 

«OsOqa 

UJ <J 



OJ UJ 



• (\J* >v OaOCJ u jr-CNjrOsOr*-ON XsJuJ^^ilN^ON 

x xxxxxXaaaocOaaaaooaaaaao < ->'->sJcjcj 

U. U.U.U.U,U.U.U.U>lA»U.l4.U»U.U>U>'4_U>U.U.U. 



46 Microcomputing January 1980 



characters that I wanted. 

I started with the easiest 
ones first. The bell was the first 
to go. On one of my Model 28s, 
the bell code was tied to the 
spacing mechanism, which 
meant that after the character 
was decoded \he carriage would 
also advance one space. That 
meant that no extra care would 
be needed here: however, my 
other Model 28 did not space 
after this code, which meant 
that after I printed my character 
in this slot I would have to im- 
mediately print a space also 
just to advance the carriage. 

Typically, none of these 
special cases, excepting, of 
course, the space itself, will 
automatically advance the car- 
riage after printing the charac- 
ter. You will have to check your 
individual machine to see if it 
spaces or not and adjust the 
program accordingly. If you 
really know the Model 28, there 
is a way you can tie these char- 
acter decodes to the spacing 
mechanism, but this is certain- 
ly not a necessity, since it can 
easily be programmed around 
as I will show you. 
I also used both upper and 



lowercase blanks and perhaps 
the little more obscure upper- 
case space. Even though the 
uppercase space did, in fact, 
space after printing, it had the 
other side effect of auto- 
matically unshifting the car- 
riage after printing, which also 
had to be programmed around. 
The only really clever one 
was the use of the letters and 
figures codes themselves. If 
the carriage is in an unshifted 
position and the letters code is 
issued, it is essentially a NOP. 
This is also true if the figures 
code is issued and if the car- 
riage is already in a shifted con- 
dition. 

This would be a necessity if 
an operator had to type on the 
Teletype keyboard, since one 
slip-up would print an un- 
wanted character. However, I 
considered my TRS-80 to be a 
nearly perfect typist and would 
know the condition of the car- 
riage at all times. So I decided 
that if the carriage was current- 
ly unshifted and a letter code 
was issued, this would mean a 
character should be printed. If 
the carriage was in the un- 
shifted condition and a figures 




Photo 5. Rear view of type box with cover removed. 



code was issued, then I would 
take that to mean that indeed a 
shift was intended and as such, 
only a shift would be done. 

A similar discussion would 
follow in the case of the car- 
riage being in the shifted condi- 
tion. Of course these, like the 
other special codes, did not 
come with an automatic space, 
so a space must be output after 
the use of one of these codes to 
print a character. 

After all this work, which was 
easier than it appeared on the 



surface, I was able to add six 
more characters to the basic 
set. In fact, if you were willing to 
modify the Teletype mechani- 
cally, you could disconnect the 
function levers from the upper- 
case carriage return and line 
feed. This would add two more 
characters to the character set 
and bring you up to the theoreti- 
cal maximum character set for 
the five-level machine. This 
would then allow you to print the 
complete Level II BASIC useful 
character set. 



</> 



X 
UJ 



«/> 



X X 
UJ ge 

UJ 

oc at 
x + 



oo 



o. 

O _J -I 



CM 



CM »- 



O O _J 



5 S 

CM O O 



ac cj> 

C 1 



CM 



ZoOflOfflQUi- 



k3x jui <-> j^ 

<0-lQiB< 



»< 3«» X _| _| 

— O ♦ O UJ UJ 

*r>| — U_ *0 • < ~ i • -J *-* 



C0 

UJ 
Gt» 



X rM «NI _J _J X 

O </> x a. x _ _i a. _j a. a. a. a. a. ►_ _ Uv) 

uiacQ=3o~>o->uj<o , <ooooouj — ac z r»o 

QTja._joa.Q(roa.UQ.a.xa.Q.acin-) — a._j 



</> 






O^Q->0~>UjX 



CM 



— CM 

uj *- a 



CM •< 

O O UJ 



3 



</> 



•— a 







Photo 6. View of pallet and its return spring. 



-O M> 



< '*■ UJ ♦ *"" <-» if\ 

I U- U- LiJ <—> i— > <-> U- 



<-> a\ o\ k> r- co 

CO <-* UQ CO OB UJ 



UJ»Tk«-<'<t_> r ~uJ 

CJSO\O\O*q0B0Oq 



B* 



CM CM 



^ cm cmuj c© r* r—»- 

uj • cm u. u_ co ao uj 

• u«'*0'"cjOu.OQnioJu.Ua(MQij.' s,, «u*'"u'"u 



3w m 
O r-> CQ rm ao u. U. O 

Oq(Mq 



oouj co ►— U.U.U.U.U.U.U.U.U.U. 



U.QO««CMCM0O« 
t/\ N ©U>U.CM«cO« 

U.U.U.UJ***** 

U.U-U.U.«I«»<»«» 



< lb UX |J> UJ UJ ut 
>0 uJtft OQ (Jgo 
* UJ li. Ul UJ UJ Ui 

<m u. u. u. u. u. u_ 






aU.'*(NJ*^OI > -0\<OUJ , "'0«' A ( *' < - ! 0<->uJ , "C\J'0 ; Af-aO<UQU.uJ w •"" 

<-»c3QOC3^>r3CDr3auJuJuJi-iJuJuJuJuJuJ l -»-u.u_u.'A.'»_u_ , A.u. , j_ao^ ^ 31 ►- 

"5 _j — uj _i — ^ — 

■ QmWq^uJOO 



CM — ►— 

CM 31 flO *— 



u.u,u.u.u.u.u.u»u.u.u. 



ac ac 

UJ XX 
i< O O- C_> O b» 

OS «<o ^t— — 

•< Q- O O 3 CO 



<U JuJlNJ^ ^ •< t-> ^ UJ 

k— >"0U<^3_jqC 3 ? gc ^- X 

_)uV)<oaTOouj£jS. 



OCQCU_cjJ'* , *>CM*" 

•<< — — _J_J_J_J 

►— X X a uiuJiJuj 
c/»oc/>o aQa o 



»— ac — 

ac •— 3 

OiAZ*0(Vlu 
^ -J ' U —I -J _J -o 



Microcomputing January 1980 47 



MAKE YOUR 



TRS-80 



A 3-SPEED 



This simple addition allows either normal operation, a 50% increase, or a 50% 
decrease in CPU speed. Unlike other speed mods, this one may be changed AT ANY 
TIME without interrupting program execution. This is critical in machine language 
programs where there's no software access. Shortens calculations, sorts, and 
CLOAD and CSAVE times. The low speed simplifies de-bugging, slows a Level II 
LIST, and ELIMINATES KEY-BOUNCE without software overhead. Fits inside the 
keyboard unit with only 4 easily accessible connections, and is easily removed if the 
computer ever needs service. The Mumford Micro 3-speed kit has been field proven 
by its many users and complete satisfaction is guaranteed. Kit includes all parts and 
clearly illustrated instructions for $24.95. Fully assembled and tested $29.95 

DUPLICATE SYSTEM TAPES WITH "CLONE" 

This machine language program makes duplicate copies of ANY tape written for 
Level II. They may be SYSTEM tapes (continuous or not) or data lists. It is not 
necessary to know the file name or where it loads in memory, and there is no chance 
of system co-residency. The file name, entry point, and every byte (in ASCII format) 
are displayed on the video screen. Data may be modified before copy is produced. 
CLONE $16.95 

RAM TEST FOR LEVEL II 

This machine language program tests memory chips for open or shorted address or 
data lines as well as intermittents. It tests each BIT for validity and each BYTE in the 
execution of an actual instruction as in real program execution. Bad addresses are 
displayed along with the bad data and proper data. One complete test of 48K takes 
just 14 seconds. Also includes a test for errors induced by power line glitches from 
external equipment. RAMTEST $9.95 

PROGRAM INDEX FOR DISK BASIC 

Assemble an alphabetized index of your entire program library from disk 
directories. Program names and free space are read automatically (need not be 
typed in) and may be alphabetized by disk or program. The list may also be searched 
for any disk, program, or extension; disks or programs added or deleted; and the 
whole list or any part sent to the printer. Finally, the list itself may be stored on disk 
for future access and update. One drive and 32K required. INDEX $19.95 

EDIT BASIC PROGRAMS WITH ELECTRIC PENCIL 

This program allows disk users to load Basic programs into the disk version of 
Electric Pencil for editing. Now you can edit line numbers, move program segments, 
and search for the occurance of any group of characters. PENPATCH $9.95 



INCLUDE 75C POSTAGE— CALIFORNIA RESIDENTS ADD 0% SALES TAX 

MUMFORD MICRO SYSTEMS 



i^M87 



BOX 435-C SUMMERLAND, CALIFORNIA 93067 
(805) 969-4557 



COMING SOON: 

PRisrui 



T.M. 



The Complete 

Information 

Management 

System 

For Business 




Another Business Solution From: 



RflMG 



MICRO APPLICATIONS GROUP 

7300 CALDUS AVENUE 
VAN NUYS.CA 91406 



X 



I have not modified my Tele- 
type yet, so I can only choose six 
characters (out of my desired 
eight) to add to my character 
set. Of the eight characters that 
I previously mentioned were 
missing, I chose to leave out the 
@ and t. In place of the @, I de- 
cided to just output a space, and 
in place of the t, I used !. If you 
wanted to be a bit tricky, you 
could have the driver routine 
print the letters AT each time it 
was supposed to print an @. 
These extra type keys (called 
pallets— see Photo 6) can be ob- 
tained from the Teletype service 
center for about 50 cents 
apiece. 

The modification of the type 
box is very easy. The type box is 
held in place by a clip to the 
right-hand side of the type box 
as shown in Photo 3. Once the 
type box has been removed 
from the Teletype, remove the 
two bolts on either side of the 
type box (Photo 4) and remove 
the back cover (Photo 5). In 
Photo 6, you will see the hooked 
end of the spring that is nor- 
mally inserted into the slot on 
the pallet as is pointed out in 
Photo 5. To install a new pallet, 
insert the pallet with no spring 
attached into the appropriate 
hole as shown in Photo 4, then 
slide the spring over the pallet 
and push the hooked part of the 
spring through the hole in the 
pallet as shown in Photos 5 and 
6. Reassemble the type box to 
complete the modification. 

Now that you have seen how 
I modified the Model 28 type 
box and how it will work, let's 
take a brief look at Listing 4 to 
see how the software has to 
handle it. Again, the first part of 
the program should be familiar 
since it is another copy of the 
handler routine. The label 
ORIGIN again defines the be- 
ginning of the lookup table, 
which has been a little better 
documented in order to help 
you change the character 
translation easily. In the first 
routine, I used blanks (40 hex) 
as the translation for illegal 
characters. However, in this 
routine, I cannot do that since I 
have made the blank a printable 
character. So for the illegal 
characters, I just output a lower- 
case space, which now is the 



only character that for sure will 
not print any character on the 
paper. 

For the most part, the labels 
in this routine have similar 
meanings to the labels in the 
first driver routine. The label 
PRCENT signifies the begin- 
ning of special character 
checking. A jump to the SPACIT 
lab I will print the character 
and then output a space. This is 
used after a character that 
does not automatically ad- 
vance the carriage is printed. 
The label ASTER is the check 
for an asterisk. It is a good ex- 
ample of this need since it is 
the unshifted letters code, 
which does not automatically 
advance the carriage after 
printing. You can see that as 
soon as the asterisk is detected 
a jump is made to the SPACIT 
label. 

This example gives you the 
tools you need to use any char- 
acter decode that does not au- 
tomatically advance the car- 
riage by adding a similar check 
for that character into the code. 
A good place to add any addi- 
tional checks that you might 
need would be immediately be- 
fore the ASTER label. For in- 
stance, on my Model 28, the up- 
percase blank (now a >) and the 
bell both advanced the carriage 
automatically so I didn't need to 
do any checking for them. How- 
ever, it is possible that your 
Teletype may not advance the 
carriage automatically. In that 
case, you would need to add two 
checks for these decodes im- 
mediately before the ASTER 
label. 

Although the first driver 
routine was relocatable any- 
where in memory, this one is 
not. In order to move this one 
around, you must assemble it 
at the desired location. 

After you understand how the 
program works, you can 
logically extend this knowledge 
to develop an even simpler pro- 
gram to communicate with 
other Teletype machines (e.g., 
the ASR-33 Teletype). Most of 
the other Teletypes are ASCII, 
which means that no lookup 
table is required, and which 
additionally means that no shift- 
ing is required to print any of the 
characters. ■ 



48 Microcomputing January 1980 



Great News from HMCT 




TRS-80* MODEL I AND MODEL II IN STOCK 



Before you purchase your TRS-80* Model I and 
Model II from your local Radio Shack, or consider 
Mail order for a discount, let me offer you an alter- 
nate choice. Houston Micro Computer Technolo- 
gies, Inc. has been providing TRS-80 Software and 
Hardware to hundreds of users for almost 2 years. 
We are not a mass merchandiser nor are we a dis- 
count house, but a group of professionals dedicated 
to helping businesses implement microcomputers to 
their greatest advantage. Here are just a few of the 
advantages we offer over Radio Shack. 



SOFTWARE 



DELIVERY 
RELIABILITY 

SATISFACTION 



** 



VALUE 



SERVICE 



Less than 30 days 
Each unit 100% tested 
prior to delivery 
Sold by computer profes- 
sionals who understand 
what you need your com- 
puter to do 

Trade in value on Model I 
systems dependent upon 
condition and 
configuration 
National service on all 
products we sell includ- 
ing TRS-80s* 



CONFIGURATION As a distributor for many 

lines of computer 
peripherals we can tailor 
your system to your exact 
hardware requirements 
We are an already estab- 
lished Model I Systems 
House with an extensive 
software library 

Maybe you believe a mass merchandising organi- 
zation or a discount operation is who you should 
trust your computer hardware selection to. Person- 
ally we like to think you would prefer to deal with 
specialists and professionals who will spend the 
time with you personally or on the phone to assist 
you in your choice of equipment based on your 
needs and specifications. 

All equipment purchased from Houston Micro Com- 
puter Technologies, Inc. is fully warranted and 
backed by national service organizations including 
Radio Shack. 

For further information call collect, 713/661-2005 or 

write. 

** Delivery of Model II subject to availability. 
"TRS-80 Is a registered trademark of the Tandy Corporation. 



Texas residents add 6% sales tax • MasterCharge • Visa 

HOUSTON MICRO-COMPUTER TECHNOLOGIES, INC. 

Home and Business Computer Specialists 
5313 BISSONNET • BELLAIRE • TEXAS • 77401 • 713/661-2005 



^H45 



A Video Board 
from Ithaca Intersystems 



Good luck with Ithaca's memory kits prompted this author to choose an 1 1 memory board. 



Ernie Brooner 

Box 236 

Lakeside MT 59922 



When putting together my 
first micro, I was greatly 
confused by the available I/O 
choices. I remember wondering, 
for example, why some termi- 
nals were self-contained, while 
others used separate key- 
boards and video boards and 
why some were serial and 
others parallel. 

Being familiar with Teletype 
practices, I finally chose what 
is commonly referred to as a 
"glass Teletype," or, more im- 
politely, a "dumb terminal." In- 
terfacing this device required 
plugging a separate I/O board 
into the S-100 bus. I soon 
learned that computer I/O can 
be frightening in any form, 
largely because I chose the Im- 
sai MIO with its now infamous 
documentation. In retrospect, 
however, I have to admit that it 
has good hardware. 

Although serving well for 
business use, such an arrange- 
ment does not fully exploit the 
available technology for such 
uses as graphics and text-pro- 



cessing; hence, sooner or later, I 
felt it necessary to go the route 
of completely separate video 
processing, via a board internal 
to the micro itself and some 
slightly sophisticated software 
to permit on-screen editing, 
among other features. I had long 
wanted lowercase characters, 
too, and the 8x10 matrix of 
Ithaca's product even permitted 
descenders on those letters 
needing tails. 

Choosing a Video Board 

We hobbyists are sometimes 
accused of being frugal. Hav- 
ing had good results with 
Ithaca Intersystems' low-priced 
memory kits, I chose their video 
board largely on the basis of 
price. 

One of Ithaca Intersystems' 
greatest selling points is their 
willingness to sell the bare 
board and documentation for a 
reasonable cost, so that the 
builder may use his own surplus 
parts to populate the kit or buy 
them wherever he feels the deal 
is best. This can result in rea- 
sonably priced hardware if you 
have access to free or inexpen- 
sive spare parts. (Ithaca's video 
boards and memory board go 
for $25 each, with full documen- 
tation.) If you wish, you can also 



purchase the fully assembled 
video board for $145. 

One look at this board indi- 
cates that Ithaca Intersystems 
is a company whose already 
good products have improved 
with time. A few years ago their 
boards could be described as 
good enough for the price; now 
the engineering and the board 
itself appear to be of the high- 
est quality. And after $3000 
worth of S-100 components, 
with their usually inadequate 
and/or erroneous documenta- 
tion, this one was a pleasant 
surprise. 

In addition to clear descrip- 
tions of the circuitry and easy- 
to-read diagrams, there was a 
request for comments and sug- 
gestions from the user. Unfor- 
tunately, I did have to be a little 
bit critical. There were a few er- 
rors, such as disparities be- 
tween the diagram and parts 
lists. Most builders could make 
an intelligent guess on these. 

Missing was any description 
of actually using the board. 
And the otherwise outstanding 
software furnished used some 
labels and some absolute ad- 
dresses, posing a slight reas- 
sembly problem for anyone not 
proficient at such chores. 

Evaluating computer com- 



ponents is subjective and often 
depends on what the buyer is 
already using. For example, 
some video boards provide a 
parallel keyboard port on the 
board itself; this one does not. 
This is of little importance to 
me, since I have a separate key- 
board/terminal and I/O board al- 
ready incorporated in my sys- 
tem, but it could influence the 
decision of someone starting 
from scratch to assemble a sys- 
tem. The point is that any such 
system requires data to be in- 
put and data to be output. 
These are really separate func- 
tions, even though they are 
often combined for hardware 
purposes. 

As purchased from Ithaca 
Intersystems for $25, the kit 
consists of the blank, etched 
and labeled board, the assem- 
bly instructions, a few debug- 
ging suggestions and the nec- 
essary software. If you care- 
lessly buy good-quality parts, 
you might spend another $100 
to complete the project. More 
realistically, the total cost for 
the project, over and above the 
initial $25, is $75, which was my 
total cost for the board and 
everything else I had to pur- 
chase. 

The kit instructions advise 



50 Microcomputing January 1980 



the builder to omit heat sinks 
on the two 7805 voltage regula- 
tors. I used them anyway, but, 
with low-power chips, they are 
not really necessary. Total 
drain from the user's supply is 
between 1/2 and 1 Amp. 

Another hardware subject to 
note (not just for this, but for 
any S-100 project) is the bus 
signals actually used or gener- 
ated by the new item. Most of 
us have run into this sort of 
compatibility problem at some 
time. This one should be com- 
patible with almost anything, 
but it does require the read and 
write signals, In, Out, Dbin, 
clock phase 2 and Sync. It also 
must access all address lines, 
the data in and data out lines, 
both the ± 16 volt supplies and 
the 8 volt supply. 

The board gets its input from 
the bus; the output to your TV 
or monitor is via a small coax 
cable. This output consists of 
the characters plus the horizon- 
tal and vertical sync signals. A 
worthwhile mod the user can 
make is to put a miniature con- 
nector at one corner of the 
board to facilitate this connec- 
tion. 

Use off the Board 
and Software Driver 

For those not familiar with 
such projects, the arrangement 
consists of 1K of memory on 
the board, which is addressed 
somewhere above the "real" 
memory. Ithaca Intersystems in- 
dicates this can be located 
almost anywhere. Actually, 
some software, such as most 
versions of Electric Pencil, re- 
quire the video display to be at 
CC00H, and the driver also as- 
sumes this. Such references 
must, of course, be changed if 
addressed anywhere else. 

Software is really the key to 
what can be accomplished with 
a device like this. Features in- 
clude the ability to back up the 
cursor and thus erase a mis- 
take and control the speed of 
the scrolling action. The CPU 
and main memory are also com- 
municated with so that actions 
by either the board system or 
the rest of the system will 
agree. 

This particular board, like 
many others, also lets the user 



select a white-on-black or 
black-on-white display. It also 
enables you to use more exotic 
software that requires memory- 
mapped video. Electric Pencil 
is one of the best known of 
these. 

When first fired up, this 
board wants to see a form-feed 
(control L) as the first charac- 
ter. This is necessary to clear 
the screen of the pretty, ran- 
dom display of any printable or, 
for that matter, unprintable 
characters that are in memory. 
Unprintables are not X-rated— 
they are the ASCII representa- 
tion of spaces and carriage re- 
turns, for example. Your driver 
must supply this initialization 
routine. 

As is often the case, it also 
wants this character, and all 
succeeding ones, in the A regis- 
ter. Most operating systems 
pass this from some other reg- 
ister just priorto printing. North 
Star likes B, and CP/M likes C. I 
am not familiar with any other 
specific systems. 

In addition to clearing the 
screen, the initialization sets 
the bounds of the top and bot- 
tom line and sets up the scroll- 
ing arrangement. After this, 
output can be more or less nor- 
mally handled, and the video 
and CPU will remain on good 
terms. 

How It Works 

Characters are placed in the 
appropriate memory cell repre- 
senting the particular spot on 
the screen where the character 
will appear. The cursor can also 
be caused to appear anywhere 
and occupies the entire rectan- 
gle representing that space; 
however, there is no conflict be- 
tween cursor and character. 

If you have selected black let- 
ters on a white background, the 
cursor block will also be black; 
however, the letter that may 
happen to be hiding beneath 
the cursor is, at that time, re- 
versed and appears as a white 
letter outlined against the 
black cursor. Hence, no display 
is ever obliterated by the cur- 
sor, even though it is a solid 
block. 

It happens like this: The char- 
acter generator chip is simply a 
ROM with the ASCII code for 



each character programmed in- 
to it; calling any address within 
it returns the necessary dot pat- 
tern to paint the desired char- 
acter on the screen. The ASCII 
pattern uses only the lower 
bits, and bit seven is reserved 
for the cursor; hence, any 
screen location can contain, at 
the same time, both the cursor 
and a character. Needless to 
say, the timing among the dot 
generator, screen sweep sig- 
nals and character is critical. 
For this reason, all timing is 
derived from an on-board 
crystal oscillator. 

Most of the needed parts can 
be found in computer stores or 
radio parts houses. There are a 
few exceptions. Two or three of 
the chips, such as the charac- 
ter generator, are more or less 
uncommon. If you cannot lo- 
cate one readily, Ithaca Inter- 
systems sells them, as well as 
the dot generator crystal and 
the single resistor pack. (You 
can as easily use half a dozen re- 
sistors as the pack, but it looks 
nicer.) Two other not-so-com- 
mon items are the trimpots 
used to adjust the centering of 
the video display on the moni- 
tor. 

The hardware is fairly simple 
in view of the construction 
notes provided with the kit. 
Checkout is feasible with 
nothing more than a VOM and a 
logic probe, unless there are se- 
rious timing problems, in which 
case you send it back to Ithaca 
for help. My recommendation is 
to add it to the existing system, 
if there is one, without attempt- 
ing to actually use it. 

It should be possible, if it is 
all there, to use your FILL or 
POKE commands, depending 
on your version of BASIC (or 
even panel switches) to place 
ASCII characters in the mem- 
ory cells within the bounds of 
the video board (i.e., 52 to 53K, 
if that is where you put it). They 
should then display on the 
screen. If not, some trouble- 
shooting is in order. 

If this can be accomplished, 
there is nothing left to do but 
write the software. Not mean- 
ing to frighten anyone, this is 
best done with the help of 
someone who has an assem- 
bler and/or is familiar with as- 



sembly-language programming. 
It will actually work right if en- 
tered exactly as it is, provided 
you are using all the same ad- 
dresses. 

The software driver furnished 
with the kit runs to over 200 
bytes. Squeezing it into your 
own system might pose a prob- 
lem, as there must still be room 
for your input and initialization 
procedures. North Star, for ex- 
ample, allows the user 250 
bytes for this purpose. CP/M 
has twice that, and other sys- 
tems, no doubt, vary. 

I chose to relocate my printer 
driver as a separate file for use 
with North Star. This is not nec- 
essary with a larger user area 
such as that provided by CP/M. 
Some pruning could be done to 
save space, but each portion re- 
moved could disable some de- 
sirable feature. 

The attractive thing about 
such a system, when installed 
intact, is that it permits the con- 
tinuous checking for various 
control characters that enable 
the additional user control and 
flexibility. 

Summary 

This board represents an ex- 
cellent buy for people wanting 
to include a video display in 
their repertoire. Neither the 
hardware nor associated soft- 
ware is especially difficult, al- 
though a beginner would be 
well advised to have some ini- 
tial help with them. It also helps 
to have some other operating 
system already in existence, as 
an aid to the debugging that 
may be needed. 

Ithaca Intersystems is ready 
to help, as witnessed by their re- 
quest for comments and their 
offer, in the documentation, to 
fix any board that is beyond the 
test-equipment capability of 
the builder. All video boards are 
limited in their display to some 
fixed number of lines on the 
screen and number of charac- 
ters per line (24 by 80 is con- 
sidered a nice size). The Ithaca 
Intersystems board, along with 
many on the market, has 16 lines 
by 64 columns. It's simply a 
case of getting what you can af- 
ford to pay for. If a 16-line dis- 
play is all you really need, by all 
means try this one.B 



Microcomputing January 1980 51 



Route 66 Modem 



A modem links your microcomputer to anyplace that has a telephone. Get on the road to 

high adventure with this economical design. 



Frank J. Derfler, Jr. 
PO Box 1 7283 
Montgomery AL 36117 



Back in the innocent(?) early 
60s, almost every high- 
school-age male in the Middle 
West had the "Route 66" fan- 
tasy. We dreamed of rolling off 
down Route 66 in a fast Cor- 
vette in search of romance, 
adventure and knowledge. 

Well, today we aren't even 
taking any long trips, let alone 
fast ones. But we can still ex- 
tend ourselves into the world in 
search of knowledge, adven- 
ture and maybe even romance. 
We can extend our computer 
selves through the use of a 
modem and the regular tele- 



phone lines. The price of the 
modem I will describe adds up 
to $66 if you pay full retail. 
Therefore, I call it the Route 66 
modem. 

Commercial modems are ex- 
pensive. When you consider 
what they do and the price of 
the parts, the typical $200 + 
price tag is pretty steep. 
Perhaps the gravy in the simple 
modems is paying for the R&D 
of the exotic high-speed error 
detection and correction units, 
but I don't want to pay the tariff 
for a simple audio-to-dc con- 
verter. 

My answer is to send an 
order off to a company called 
Electronic Systems, which 
usually has an ad in the back of 
Microcomputing, for a $27.50 
modem kit. The modem has a 
TTL output, but they also have 




The layout of the modem is not critical. The operating controls are 
simple. The switch on the panel selects either the answer or 
originate modem board. 



an inexpensive TTL/RS-232 
board, so it will interface to 
most terminals or computers. A 
power supply and enclosure 
are needed to complete the 
package. Access to a frequen- 
cy counter and audio oscillator 
is almost a must for alignment. 
I chose to get the cabinet and 
power supply parts from Radio 
Shack because they were 
handy. If you order from some 
of the parts houses advertising 
in the back of the magazine, 
you may be able to put the 
originate-only modem together 
for under $50. 

Theory 

A modem is a communica- 
tions device. It takes the output 
from your computer or terminal 
(usually a ±12 volt signaling 
scheme called RS-232) and con- 
verts it into audio tones that 
can be passed over the phone 
lines. Another modem is at the 
other end of the phone line. 

The second modem converts 
the tones back into dc, which it 
feeds into its computer or ter- 
minal. This means that you can 
(theoretically) talk to and ex- 
change programs with people 
with other brands of systems 
than the one you own. 

For example, an OSI Chal- 
lenger and a TRS-80 may both 
be using simliar Microsoft BA- 
SIC, but that doesn't mean they 
can swap programs on cas- 
settes. The cassette systems 
are different. But if they both 
use a common RS-232 ASCII 
format, they can exchange in- 



formation over a telephone or 
wireline. It is more complex 
than that because they should 
have some way to save what 
they receive, but there are soft- 
ware routines available to do 
this already. 

Originate and Answer 

If the modems at either end 
of the line are both pumping out 
tones at the same time, then it 
becomes obvious that they 
can't both use the same tones, 
or they will hear only them- 
selves. Four tones are needed 
so that the high and low dc 
pulses can be converted into 
separate high and low tones at 
each end. 

Several standards exist for 
what tones will be used, but the 
most common is the Bell 103. 
This standard says that the 
modem that is on the terminal 
end (in a time-sharing system, 
for instance) will use 2225 and 
2025 Hz for transmit. This is 
called the "originate" modem. 
The modem on the computer 
end of a time-sharing system 
(the "answer" modem) trans- 
mits at 1270 and 1070 Hz. 

Many hobby computer users 
have been unpleasantly sur- 
prised when they have bought or 
built low-priced modems that 
were originate only. Two orig- 
inate modems cannot talk to 
each other. Most kits that adver- 
tise "originate or answer" 
(including the Electronic Sys- 
tems kit used here) must be 
hard-wired in either configura- 
tion. It is hardly a convenient 



52 Microcomputing January 1980 



way to do it, but by using two of 
the kits with a common power 
supply and other parts, we can 
have both capabilities at a low 
price. 

The Kits 

Electronic Systems will take 
credrt-caTd OTdeTS when the 
phone rates are low. My order 
was shipped the next day. Both 
kits (shown in the parts list) 
were complete with sockets for 
the ICs. Construction required 
just stuffing the parts into the 
holes and soldering. 

The 2N2222 transistor sup- 
plied with the TTURS-232 kit 
had a round case without a tab, 
so I had to use a VOM to find 
out which leads were the emit- 
ter/base junction. I felt that this 
assumed a sophistication on 
the part of the builder which 
might not be present. The mo- 
dem kit had a properly marked 
2N2222. The markings on the 
little Mylar capacitors rub off 
quick)y, so don't touch their flat 
sides or you will have a pretty 
puzzle to work out. 

The modem kit came with ex- 
cellent documentation that de- 
scribed the operation of both 
the transmit and receive sides. 
Select the proper components 
for either originate or answer. 
Stuffing and soldering the kit 
boards is about a two hour job, 
if you take time out to read the 
directions. 

Phone Line Connection 

The modem kit calls for a 
high-impedance input such as 
a crystal mike and a low-imped- 
ance output such as a speaker. 
This could be provided in several 
ways. First, you could spend a 
few dollars for a crystal mike 




The modem board is lower right with the TTURS-232 board above it. The power-supply components 
are mounted on the board on the left. The two positive voltage regulators are on the chassis wall. The 
negative regulator must be insulated from the chassis. The two modem boards are stacked on top of 
each other. The modems are grounded through their mounting screws. 



and a speaker and build them 
into a stand that would hold a 
telephone handset. 

Second, you could buy an au- 
dio pick-up such as the one ad- 
vertised by the Rondure Com- 
pany for $17.50. Third, you 
could, as I did, find an old ama- 
teur-radio phone patch and use 
it to couple into the phone line. 
Finally, you could buy two 99 
cent transformers and couple 
into the phone line that way (as 
shown in Fig. 1). 

A word of note: If you direct- 
couple into the phone line with 
a phone patch or the transform- 
er system, you will be required 
to get the phone company to in- 
stall something called a direct 
access arrangement (DAA), 



Modem kit: Electronic Systems Part No. 109A 
TTURS-232 Converter: Electronic Systems RS-232 

DB25P Plug: Available from Jameco Electronics or with an 8 conductor cable from Elec- 
tronic Systems, PO Box 21638, San Jose CA 95151. 



which stops unwanted tones 
from going down the phone 
lines and fouling up the tele- 
phone company's switching 
systems. 

Interfacing 

The output of the modem 
board is transistor-transistor 
logic (TTL), which is a system of 
signaling using + 5 and volts. 
Some terminals can use TTL 
levels. If you have one of these, 
then you don't need the TTU 
RS-232 board. (See "Parallel Port 
to RS-232," April 1979 Microcom- 
puting.) 

Electronic Systems also has 
a TTL/20 mA current loop board, 
so if you are using a terminal 
such as a Model 33 you can use 
this interface. The majority of 
terminals and computers use 
an RS-232 interface. 

When you make up the con- 



necting cable, you must decide 
if you are going to plug into a 
computer or a terminal. This is 
important for several reasons. 
First, a computer has a female 
RS-232 jack mounted on its 
chassis; a terminal has a male. 
Second, the standard is set up 
so that a computer expects to 
receive data (from terminal 5 of 
the RS-232 board) on its pin 2 
and to transmit data (to termi- 
nal 2 on the board) on its pin 3. 
A terminal outputs on 2 and re- 
ceives on 3 so that it mates with 
a computer. 

As the modem builder, you 
have to decide which device 
you need to mate to. If you want 
flexibility, then simply prepare 
two different cables that plug 
into a jack on the modem. In 
either case, pins 4 and 5 of the 
DB25 plug should be wired to- 
gether so the device provides its 



Item 



Radio Shack Part No. 



TO MODEM BOARD 
E I • 



Neon panel light 




272-705 


Aluminum cabinet (3.5 x 9 x 6) 




272-261 


VR1 + 5 volt regulator (7805) 




276-1770 


VR2 + 12 volt regulator (7812) 




276-1771 


VR3 - 12 volt regulator (7912) 




NOT LISTED 


D1 4 AMP 50 V bridge 




276-1146 


C1, C2 2200 uFd capacitor 




272-1020 


S1 SPST switch 




275-01 1 


Ac power cord 




278-1255 


T1 transformer 25.2CT 2 Amp 


Parts List. 


273-1512 



E5»- 



680A 



T4 



E 2 •- 




^V 



47 M F 

-)r— 

4 7 M F 

-)h- 



TO PHONE 
LINE 



Fig. 1. This circuit can be used to connect the modem board to the 
phone line. T3 and T4 are two identical Radio Shack audio output 
transformers (stock no. 273-1380) with their secondaries hooked 
together. The capacitors keep any stray dc voltages out of the 
transformer. 



Microcomputing January 1980 53 




The modem tucks in neatly under the monitor. The old phone patch 
used to couple into the phone line is on the left. 



own clear-to-send signal. 

Power Supply 

The power supply I've shown 
(Fig. 2) provides all the voltages 
needed with an absolute mini- 
mum of parts. The bridge recti- 
fier isn't working as a bridge; it 
is working as two separate full- 
wave rectifiers in one conve- 
nient package— one for + 12 
and one for - 12 volts. The +5 
volts is tapped from the +12 
volt source. The - 12 volt regu- 
lator isn't a standard item in the 
Radio Shack catalog, but many 
stores now carry them. 

The photographs show the 
general layout I used. I just 
mounted everything on a piece 
of perforated board and used 
point-to-point wiring under- 
neath. The components run 
cool and can handle two 
modem boards with no prob- 
lem. 

Double Talk 

If you only use one modem 
board, then you will have either 
an answer or originate capabili- 



ty. If you know exactly who you 
are going to talk to, this may be 
enough. But to be truly versatile, 
you need both capabilities. Al- 
though Electronic Systems 
gives you the right parts for 
either format, there are too 
many connections and align- 
ments involved for easy switch- 
ing. 

The best way is to buy two 
modem boards, set one up for 
answer and one for originate, 
connect the audio and power- 
supply lines to both in parallel 
and switch the TTL input and 
output lines between the two 
modem boards with a simple 
DPDT switch. Doing it is easier 
than writing about it, and the 
diagram for the switching is 
Fig. 3. 

Alignment 

If you have a friend with a 
modem and a lot of patience, it 
is possible to align this system 
by slowly turning the trimpots 
until you are sending and re- 
ceiving good copy. The only ad- 
justment consists of one pot 



VR I 






1 


7805 
♦ 5 V 






1 




, . 


VR2 


w* 


7812 






| »ltV 




I 


* 


7 





TO "♦5" ON 
MODEM BOARD 



TO TERMINAL 4 
ON RS-232 
BOARD 



VR3 



3l 7912 

n -i2v 



C2 



I 



TO TERMINAL 6 
ON RS-232 
BOARD 



Fig. 2. This power supply is simple and effective. The bridge is be- 
ing used as two full-wave rectifiers. Note that the pins are different 
on the negative regulator and that it must be insulated from the 
chassis. 

54 Microcomputing January 1980 



Tone 


Logic 


TTL Level 


RS-232 


TTY State 


2225 Hz 


One 


+ 5 


-12 


Mark 


2025 Hz 


Zero 





+ 12 


Space 


1270 Hz 


One 


+ 5 


-12 


Mark 


1070 Hz 


Zero 





+ 12 


Space 



(1270 and 1070 are received by an originate modem) 
(2225 and 2025 are received by an answer modem) 

Table 1. Tone/level table. 



each for the transmit and re- 
ceive frequencies. The toler- 
ance is about 10 percent or 100 
to 200 Hz, so you have to be 
close. A frequency counter real- 
ly helps. I used a shortwave re- 
ceiver with a beat note on the 
crystal calibrator for a signal 
generator. 

These modems are not crys- 
tal controlled, so try to set the 
unit up under fairly standard 
temperature conditions. Some 
drifting with age may take 
place. The only problems I have 
are with some other 300 baud 
modems on the end of some 
phone lines on some days. It 
isn't consistent. Usually, 
switching down to 110 baud im- 
proves the reliability of com- 
munications. 

What Do You Say After Hello? 

Now that you can get infor- 
mation into your machine, what 
can you do with it? If you are us- 
ing a terminal, you might print it 
out on an attached printer. But 
many of us want to use our 
computers to communicate and 
then to manipulate what we re- 
ceived. 

In the easiest form, you can 
stay in BASIC while someone at 
the other end talks to you in the 
form of line numbers and REM 
statements that will keep BA- 
SIC from issuing error mes- 
sages. You can then save the 
text and programs you received 
in your normal way. That is 
probably good enough to con- 
verse with your friends, but 
don't expect a time-sharing 
system to talk to you in REM 
statements. You could write a 
BASIC program to allow free- 
flow discussion, but you would 
need a files capability to save 
what you got. This is not avail- 
able on most cassette systems. 

Radio Shack is advertising a 
communications software pack- 
age for the TRS-80 under cata- 



log number 26-1 146. Jim Dvorak 
(see "Who Sells Software?" 
April 1979 Microcomputing, p. 
48) has recently been advertis- 
ing a useful program for North 
Star users. With a program that 
will allow you to talk in plain 
text "terminal mode" to a larger 
computer and then to save 
whatever you receive, you can 
literally suck the larger sys- 
tems dry of interesting pro- 
grams that they will let you list. 

One minor operating point: 
When your modem is not re- 
ceiving a signal, it will sit at rest 
in either the logic zero (space) 
or the logic one (mark) state 
(see Table 1). If it comes to rest 
on a logic zero, it will drive your 
computer frantic. If you are op- 
erating with a time-share sys- 
tem as an originate modem, 
don't turn your modem on until 
you hear the other system first. 
Then act promptly or you might 
time out. 

If you are serving as an an- 
swer modem for someone who 
has a commercial originate mo- 
dem, you may have to give him 
a tone first so that it opens his 
transmit line. In this case you 
might get some garble until 
your modem is in synch. That is 
a small price to pay for the ca- 
pability to send and receive 
computer-to-computer infor- 
mation. ■ 



TO TERMINAL 3 
ON RS-232 CARD 



y 



TO E8 ON OR\Om».Tt 
MODEM CARD 



TO E8 ON ANSWER 
MODEM CARD 

I o 



TO TERMINAL 9 
ON RS-232 CARD 



I 



f 



TO E4 ON ORIGINATE 
MODEM CARD 



TO E4 ON ANSWER 
MODEM CARD 



Fig. 3. If the you need both an 
answer and originate modem, a 
simple DPDT switch will allow 
you to switch the TTL inputs 
and outputs from either modem 
board into the TTL/RS-232 
board. The power and audio 
leads are hooked to both 
boards in parallel. 



RADIO SHACK COMPUTER OWNERS 
TRS-80 MODEL I AND MODEL II 




PRACTICAL APPLICATIONS 
BUSINESS 

GAMBLING • GAMES 
EDUCATION 
PERSONAL FINANCE 
BEGINNER'S CORNER 
NEW PRODUCTS 
SOFTWARE EXCHANGE 
MARKET PLACE 
QUESTIONS AND ANSWERS 
PROGRAM PRINTOUTS 
AND MORE 



TM 



MONTHLY 
NEWSLETTER 



PROGRAMS AND ARTICLES PUBLISHED IN OUR FIRST 12 ISSUES 
INCLUDE THE FOLLOWING: 

A COMPLETE INCOME TAX PROGRAM (LONG AND SHORT FORM) 

INVENTORY CONTROL 

STOCK MARKET ANALYSIS 

WORD PROCESSING PROGRAM (FOR DISK OR CASSETTE) 

LOWER CASE MODIFICATION FOR YOUR VIDEO MONITOR OR PRINTER 

PAYROLL (FEDERAL TAX WITHHOLDING PROGRAM) 

EXTEND 16 DIGIT ACCURACY TO TRS 80 FUNCTIONS (SUCH AS 

SQUARE ROOTS AND TRIGONOMETRIC FUNCTIONS) 

NEW DISK DRIVES FOR YOUR TRS 80 

PRINTER OPTIONS AVAILABLE FOR YOUR TRS 80 

A HORSE SELECTION SYSTEM***ARITHMETIC TEACHER 

COMPLETE MAILING LIST PROGRAMS (BOTH FOR DISK OR CASSETTE 

SEQUENTIAL AND RANDOM ACCESS) 

RANDOM SAMPLING***BAR GRAPH 

CHECKBOOK MAINTENANCE PROGRAM 

LEVEL II UPDATES***LEVEL II INDEX 

CREDIT CARD INFORMATION STORAGE FILE 

BEGINNER'S GUIDE TO MACHINE LANGUAGE AND ASSEMBLY 

LANGUAGE 

LINE RENUMBERING 

AND CASSETTE TIPS, PROGRAM HINTS, LATEST PRODUCTS 

COMING SOON (GENERAL LEDGER, ACCOUNTS PAYABLE AND 
RECEIVABLE, FORTRAN 80, FINANCIAL APPLICATIONS PACKAGE, 
PROGRAMS FOR HOMEOWNERS, MERGE TWO PROGRAMS, 
STATISTICAL AND MATHEMATICAL PROGRAMS (BOTH 
ELEMENTARY AND ADVANCED) . . . AND 






WORD PROCESSING PROGRAM (Cassette or Disk) 

For writing letters, text, mailing lists, etc., with each new subscriptions or renewal. 

LEVEL II RAM TEST - 

Checks random access memory to ensure that all memory locations are working properly. 



SEND FOR OUR 36 PAGE SOFTWARE CATALOG (INCLUDING LISTINGS OF HUNDREDS OF TRS 80 PROGRAMS AVAILABLE 
ON CASSETTE AND DISKETTE). $2.00 OR FREE WITH EACH SUBSCRIPTION OR SAMPLE ISSUE 



1 



CQKIPUTRQMCS: 



^C114 



hAKTV^KAXnCAL AP^JCATTCTsS SEWVCE 



■*£?*. 



Box 149 



New City, New York 10956 



ONE YEAR SUBSCRIPTION $24 
TWO YEAR SUBSCRIPTION $48 
SAMPLE OF LATEST ISSUE $ 4 



HOUR 
24 ORDER 

LINE 
(914) 425-1535 



START MY SUBSCRIPTION WITH ISSUE 

(#1 - July 1978 • #7 - January 1979 • #12 - June 1979) 

NEW SUBSCRIPTION RENEW AI 




CREDIT CARD NUMBER 
SIGNATURE , 



EXP DATE 



NAME 



ADDRESS 



*** ADD $6/YEAR (CANADA, MEXICO) ADD $12/YEAR AIR MAIL OUTSIDE OF U.S.A., CANADA & MEXICO *** 



%^ Reader Service — see page 227 



Microcomputing January 1980 55 



Thoughts on the 
SWTP Computer System 



Installment number 8 of this series looks at the new 6809 microprocessor. 



Peter A. Stark 

PO Box 209 

Mt. Kisco NY 10549 



The king is dead; long live 
the king!" So goes an old 
saying that may be apropos 
right now. "The 6800 is dead; 
long live the 6809!" 

Motorola's 6800 isn't dead, 
of course, but SWTP's 6800 is. 
SWTP has apparently discon- 
tinued all manufacture and sale 
of their 6800 computer, and is 
concentrating completely on 
their new 6809-based system. I 
say "apparently" because it is 



not entirely certain just how 
complete this move is. Will 
SWTP continue to support 6800 
systems? Will they continue to 
sell bare boards or board kits? 
Will their disk systems con- 
tinue in their present form, or 
will they, too, be revamped for 
the 6809? Only time will tell. 

The only thing certain right 
now is that complete SWTP 
6800 computers are no longer 
available. 6809 systems are 
available, but without — as yet 
— much supporting software. 

As has been evident for some 
time, SWTP marketing strategy 
has changed over the past year 
or two. A 6809 kit will be 




The SBC/9 board for the 6809-based computer system. (Photo 
courtesy of Per com) 

56 Microcomputing January 1980 



available (for $495 with 8K of 
memory), but the initial push 
is for assembled systems, 
mostly with a lot of memory. 
SWTP (along with many other 
manufacturers) is aiming for 
the "business" market. 

In a way, this may be a boon 
to SWTP competitors. Espe- 
cially in the industrial market, 
6800 demand will probably con- 
tinue, and now that main- 
frames, cards, disk systems 
and all the other equipment are 
available from other manufac- 
turers, that will be all that's 
sold. Unfortunately, none of 
these can offer the price/perfor- 
mance ratio that SWTP always 
has offered. 

The Motorola 6809 
Microprocessor 

The 6809 is like a wolf in 
sheep's clothing. Internally, it 
is like a 16-bit processor; exter- 
nally, it resembles an 8-bit pro- 
cessor such as the 6800. For 
this reason, it is hardware- 
compatible with older 6800 
systems — so that with the ad- 
dition of a new CPU board, 
older SWTP systems can use 
the 6809 — yet it can do soft- 
ware tricks not possible before. 

It is a vast improvement over 
the 6800 in many ways, though 
not as compatible with it as 
generally thought. (It's not like 
the Z-80 being able to run 8080 



programs. 6800 programs must 
be modified for new instruc- 
tions; a few 6800 instructions 
that do not exist in the 6809 
must be programmed around.) 

The 6809 has two accumula- 
tors, but they can be used 
together as a 16-bit accumula- 
tor. It has two index registers 
and two stack pointers. It can 
perform 16-bit addition and 
subtraction and 8-bit multipli- 
cation. It can push and pull 
other registers, besides the ac- 
cumulators, and has a variety 
of addressing modes that can 
greatly speed up and shorten 
programs. Some of the 6800's 
addressing modes are more 
versatile with the 6809 — direct 
addressing can be done 
throughout memory, not just in 
lower memory. Conditional 
branches can go anywhere, not 
just 128 bytes (more or less) for- 
ward or back. 

Other addressing modes are 
new. For instance, there are in- 
direct modes that allow han- 
dling data without loading the 
index register with a base ad- 
dress first. PC-relative address- 
ing adds an offset or displace- 
ment to the address in the pro- 
gram counter, in much the 
same way as indexed address- 
ing adds an offset to the con- 
tents of the index register. This 
allows writing completely relo- 
catable programs without 



some of the tricks needed to do 
the same on the 6800. 

In terms of hardware, the 
6809 is available in two ver- 
sions: the MC6809 with a built- 
in clock oscillator, which re- 
quires only an external clock 
to set clock speed, and the 
MC6809E with external clock 
inputs. The MC6809 with the 
built-in clock and a 4 MHz 
crystal operates at a 1 MHz 
clock speed to match older sys- 
tems. An 8 MHz crystal (with the 
MC68B09 version of the proces- 
sor) operates at the higher 2 
MHz clock speed; but this is not 
compatible with SWTP 16K and 
32K memory boards and may 
not work with smaller boards 
either unless the memory chips 
are also replaced. (16K and 32K 
memory boards can apparently 
not be upgraded to work at the 
higher speed, due to the way 
the dynamic memory re- 
freshing is done.) 

SWTP also states in their 
6809 CPU board instructions 
that the 6800 and 6809 main- 
frames may not work reliably 
above 1 MHz. 

6809 pin signals are a bit dif- 
ferent from those of the 6800. 
Bus control signals, designed 
for allowing other devices to 

share the bus with the pro- 
cessor, are different. Since the 

6809 has a built-in clock oscilla- 
tor, there is a clock output 
rather than clock inputs. The 
clock output is now called the 
E, or Enable, signal, instead of 
02. This better matches the E in- 
puts that the PIA and ACIA 
chips have had for years. There 
is even a second clock output, 
now called the Q output. On the 
otner'nand,VMA\vaVid memory 
address) is now gone. 

A third interrupt input, FIRQ 
(fast interrupt), has been added 
for really fast response. And an 
M.RDY (memory ready) input 
makes the processor wait for 
slow memory. (Shades of S-100 
systems!) 

When a program is rewritten 
to take advantage of the 6809's 
features, it can run a lot faster 
than on a 6800. But when it is 
just doctored up a little — by 
reassembling, for instance — 
then it runs somewhat faster, 
but not by much . . . not enough 
to justify the effort, anyway. 



(ft 



The new SWTP 6809 computer 

has a completely redesigned 

cabinet, and so looks like 

a completely new unit. 

Inside, though, there are some 

marked similarities. 



J» 



SWTP 6809 System 

The new SWTP 6809 com- 
puter has a completely re- 
designed cabinet, and so looks 
like a completely new unit. In- 
side, though, there are some 
marked similarities. There's 
still a motherboard with 
separate 50-pin connectors for 
CPU and memory and 30-pin 
connectors for I/O. There's still 
address decoding on the 
motherboard and a beefed-up 
power supply. 

But there are some changes 
too. Some, such as the new I/O 
addressing on the mother- 
board, are minor. Others, such 
as the design of the CPU board 
and the monitor, are major. In 
fact, the CPU board — called 
the MP-09 (available for $175 as 
a modification to present sys- 
tems) — tells the whole story of 
the system. 

In addition to the 6809, the 
MP-09 board has sockets for 
memory. But unlike the 6800 
CPU boards, the MP-09 does 
not use an MC-6830 mask- 
programmed ROM monitor and 
does not have the 6810 128-byte 
scratchpad RAM of the earlier 
CPU boards. Instead, it has four 
sockets that are for single- 
supply 2716-compatible 
EPROM, ROM or RAM (like the 
MP-A2 CPU board). The new 
SWTP 6809 monitor is called 
SBUG-E and takes up 2K, or one 
socket. That leaves three more. 

Those sockets can be used 
for 2716 2K x 8 EPROMs; they 
can also be used for other pin- 
compatible devices. SBUG-E 
comes on a mask-programmed 
ROM that fits those sockets; 



other ROMs may be available 
later, or large users may be able 
to supply their own. Several 
manufacturers have also an- 
nounced 2716-compatible 
RAMs, which are not yet 
available. Thus, the CPU board 
has room for up to 8K of 
memory in any combination of 
ROM, EPROM and RAM. 

The four memory sockets are 
addressed as follows: 

IC1 — E000-E7FF 

IC2— E800-EFFF 

IC3— F000-F7FF 

IC4 — F800-FFFF (used for 

SBUG-E) 

IC4, which is normally used 
for the monitor, is always 
enabled; the other three 
sockets have DIP switches that 
allow them to be either enabled 
or disabled and determine 
whether they are used for ROM 
or RAM (by controlling one of 
the pin connections). 

But here's the rub. IC1 
through IC3 are not usable with 
the SBUG-E monitor in a full- 
fledged 6809 system, because 
I/O in an expanded system will 
be moved up into the same 
memory region as these 
sockets occupy. The extra 
three sockets are intended for 
dedicated applications (in- 
dustrial control, for instance), 
where a custom monitor — 
other than SBUG-E and one 
that would use other addresses 
for I/O — would be used. So 
these sockets (unlike the 2716 
sockets on an MP-A2 6800 
board) can generally not be used 
for extra software. 

The addressing for these 
memory sockets is more 



thorough than monitor ad- 
dressing in older 6800 systems. 
Monitor and high memory ad- 
dresses are fully decoded, so 
that extra addresses are not 
used up in vain. This was a big 
problem with the 6800 system, 
which dated back to days when 
memory was so expensive that 
nobody ever thought a hobbyist 
or small user could afford more 
than 32K. 

The MP-09 board also has a 
14411 baud rate generator; but 
whereas 6800 systems only 
generated baud rate signals for 
110 through 9600 baud, the 
MP-09 can generate signals for 
as much as 38,400 baud. Since 
there are only five baud rate 
lines on the motherboard, a DIP 
switch and several jumpers are 
used on the CPU board to deter- 
mine the exact baud rate sig- 
nals that exit the CPU board to 
the bus. (Read on. In some 
cases, this baud rate generator 
may have to be disabled.) 

Now to the differences. First 
of all, the MP-09 has improved 
facilities for releasing all buses 
during DMA transfers or in 
multiprocessor systems. This 
is in line with some of the 6809 
features, which are designed 
for such advanced applica- 
tions. This includes the familiar 
BA (bus available) line and 
some new signals. BS (bus 
status) replaces the old 01 
signal, and BUS REQ (bus re- 
quest) can be strapped on the 
110-baud line instead of the 
baud rate signal. These two 
signals are used to tell other 
boards (not yet developed) 
what the 6809 is doing. 

Since existing boards need a 
VMA signal, but the 6809 
doesn't provide it, the MP-09 
manufactures a VMA whenever 
the 6809 indicates that the bus 
is being used and is not 
available for other use. 

The MP-09 also connects 
some of the other new 6809 
signals such as BS, clock (Q 
and E), M.RDY, BUS REQ and 
FIRQ to the 50-pin bus on the 
motherboard. 

However, the SS-50 bus only 
started out with two extra un- 
used lines, called UD (user 
defined) 1 and 2. Where did all 
the new signals go? Back in 
1978, there were several 



Microcomputing January 1980 57 



Pin no. (from 


Old SS-50 signal 


New SS-50C signal 


loft to right) 






1 


1200 baud 


1200 baud or SO 


2 


600 baud 


600/4800 baud or S1 


3 


300 baud 


300 baud or S2 


4 


150 baud 


150/9600 or S3 


5 


110 baud 


110 baud or BUS REQ' 


6 


HALT' 


HALT' 


7 


01 


BS 


8 


BA 


BA 


9 


RESET' 


RESET" 


10 


R/W 


R/W' 


11 


VMA' 


VMA' 


12 


02 


E 


13 


UD1 


Q' 


14 


UD2 


FIRQ" 


15 


IRQ" 


IRQ' 


16 


NMI' 


BUSY' 


17 


M.RST' 


M.RDY 


18 


- 


- 


19 


+ 12 VOLTS 


+ 16 VOLTS 


20 


- 12 VOLTS 


-16 VOLTS 


21-23 


+ 8 VOLTS 


+ 8 VOLTS 


24-26 


GROUND 


GROUND 


27-42 


A0 through A15 


A0 through A15 


43-50 


D7" through DO' 


D7' through DO' 



Table 1. Old and new 50-pin buses. 



Pin no. (from 


Old SS-30 signal 


New SS-30C signal 


front to back) 






1 


I/O PORT SELECT' 


I/O PORT SELECT" 


2 


RESET' 


RESET' 


3 


110 baud 


110 baud 


4 


150 baud 


150 or 9600 baud 


5 


300 baud 


300 baud 


6 


600 baud 


600 or 4800 baud 


7 


1200 baud 


1200 baud 


8-9 


+ 8 VOLTS 


+ 8 VOLTS 


10 


R/W' 


R/W* 


11 


02 


E' 


12-19 


D7 through DO 


D7 through DO 


20 


RS1 


RS1 


21 


RS2 


RS2 


22 


IRQ' 


IRQ' 


23 


NMI' 


FIRQ' 


24 


- 


- 


25-26 


GROUND 


GROUND 


27 


+ 12 VOLTS 


+ 16 VOLTS 


28 


-12 VOLTS 


- 16 VOLTS 


29 


UD4 


RS3 


30 


UD3 


RS2 



Table 2. Old and new 30-pin buses. 



meetings of 6800 manufacturers 
to hammer out what the stan- 
dard SS-50 bus should be and 
what, if any, modifications 
should be made to it in the 
future. At that time, there was a 
consensus on three possible 
versions of the bus: SS-50A, SS- 
50B and SS-50C. SWTP is now 
using a slightly modified SS- 
50C bus in their 6809 system. 
Table 1 shows exactly what 
lines are used on the old and 
new bus. In the same way, 
Table 2 shows the changes to 
the 30-pin I/O bus. 

We've already described 
some of the SS-50C changes. 
Let's now look at the others. 

On the 50-pin bus, pins 16 



and 17 were NMI' and M.RST' 
on the old bus. What happened 
to them? They are still on the 
MP-09 CPU board, but they are 
brought to connectors at the 
top of the board. M.RST (master 
reset) now must be wired 
through a short cable to the 
RESET switch on the front 
panel. Likewise, NMI' must now 
be wired through a separate 
cable. In noisy environments, 
shielded cable may be needed. 
The 12-volt supplies have 
been replaced with 16-volt sup- 
plies. As was described in the 
first installment of this series 
("Some Thoughts on the SWTP 
Computer System," March 1979, 
p. 58), these supplies have 



always been marginal, and 
changing from 12 volts to 16 
should improve things. But 
watch out! Some add-on 
boards requiring 12 volts have, 
in the past, been designed 
without on-board regulators, 
relying on the 12-volt supplies' 
proximity to the required 
values. To use them in a new 
system, you will have to install 
the missing regulators, or risk 
serious damage to them. 

The 50-pin bus also shows 
another change in pins 1 
through 4; four of the baud rate 
signals can be replaced with 
signals SO through S4, four 
additional address lines that 
allow the system to be ex- 
panded up to an advertised 
384K of memory . . . and per- 
haps more. 

MP-09 Addressing Circuitry 

The big change, which af- 
fects the whole system and 
may make it impossible to 
switch back and forth between 
the 6800 CPU board and a new 
6809 CPU board, is in address- 
ing. The MP-09 CPU board, 
combined with the SBUG 
monitor, has an interesting 
combination of hardware and 
software for memory and I/O 
addressing. 

The MP-09 board has sockets 
for two 74LS189 16 x 8 TTL 
RAMs: One of these (IC11), 
called the DAT (dynamic ad- 
dress translator), is required; 
the other (IC8) is optional, to be 



used for extended addressing. 

Dynamic Address Translator 

The address translator is of 
immediate interest. It is basi- 
cally a 16 x 4 RAM, which is ad- 
dressed as locations FFF0 
through FFFF. You may note 
that this overlaps the monitor, 
which is FC00-FFFF. But the 
difference is that the monitor is 
a read-only memory, whereas 
the RAM is write-only memory. 
The two do not conflict, even 
though they share the same ad- 
dress, since a read and a write 
can never occur at the same 
time. When a load is executed 
from FFFF, for instance, only 
the ROM is affected. When a 
store is executed to FFFF, only 
the RAM is affected. Since this 
RAM only stores four bits, only 
the rightmost four bits of the 
number being stored into 
FFFO-FFFF actually get stored 
in the DAT RAM. 

Fig. 1 shows a simplified 
diagram of the DAT. The ad- 
dress inputs into the RAM are 
connected to the address bus 
through a 74157 selector, IC10. 
IC10 acts as a two-position 
switch, connecting either its 
four A inputs or its four B inputs 
to the RAM. 

When the RAM is being writ- 
ten into, the selector is switched 
to the B inputs. The rightmost 
four bits of the address— shown 
as A3 through A0 at the bottom 
of the diagram— are fed through 
the selector to the RAM. Since 



07 



DATA 



DO 



6809 



AI5 
AI4 

AI3 
AI2 



ADDRESS 



A3 
A2 

Al 

AO 



IC 10 

74157 

B INPUTS 



ADDRESS 
SELECTOR 



»A INPUTS 



D7 



DATA BUS 



DO 



DATA OUT 



DATA IN 

ICI I 

74LSI89 

RAM 



^ADDRESS IN 



AI9 
A 14 
AI3 
A 12 



ADDRESS 
BUS 



A3 
A2 

Al 
AO 



Fig. 1. Dynamic address translator. 



58 Microcomputing January 1980 




The $1 billion opportunity. 

This January 15-18, over 9,000 British and European retailers, wholesalers, distributors 
and government purchasing agents will attend TV-MEX 80, the Microprocessor Electronics 
Show, in Birmingham, England. 

They'll devour information on micro and home computers, electronic and 
microprocessor games, VCR's, telephones, video cameras and projection systems, digital 
consumer electronics and more. And for good reason. 

Sales in the United Kingdom this year alone will top $1 billion. And European sales will 
add hundreds of millions more. 

A limited amount of display space is still available at TV-MEX 80. Join GEC Radio/TV, 
Decca, ITT, Texas Instruments, Microsensor Corp. (Apple), Prestel, BBC, ITA and more. 

To reserve your booth, phone or write Technology Marketing Analysis Corporation 
(TMAC) today. And, if you hurry, take part in TMAC's VIP Tour. Enjoy discount airfare, 
first-class lodging, VIP cocktail party with key European buyers, tickets for three plays, rental 
car and more. (But please call now. The VIP Tour is limited to 50 people.) 

Bring your company's story to TV-MEX 80. And let Europe's top consumer electronics 
showcase boost your bottom line. 

To reserve your booth, 
call toll-free: 

800- 

227-3477 

in California (415) 474-3000 

Technology Marketing Analysis Corp. 
680 Beach Street, Suite 428 
San Francisco, CA 94109 




Gentlemen: 

I wish to reserve display space at TV-MEX 80. 

Please □ call with, or □ send more information. 

I wish to join the VIP Tour (tax deductible under 

Section 274(h) IRS). 

Please □ call with, or □ send more information. 

Name 

Title 

Company 

Address 

City 

Phone 



n 



State 



Zip 



j 



v* Reader Service — see page 227 



Microcomputing January 1980 



the four bits represent the right- 
most hex digit in the address 
(FFFO through FFFF for the 
RAM), they determine where in 
that RAM data will be written. 
The data input itself comes from 
the lower four bits of the data 
bus. 

Writing into the RAM in a 
simple 6809 system actually 
takes place fairly seldom — 
SBUG-E writes into the RAM 
once, just after it is started up. 
The rest of the time, the ad- 
dress selector is switched to 
the A inputs, and the RAM is 
more or less permanently 
placed into a read-only mode. 
But note that the data read 
(coming from the RAM's data 
out pins) doesn't go to the data 
bus; it goes to the address bus! 

As you can see from Fig. 1, 
the top four bits of the 6809's 
address outputs, A15 through 
A12, don't go directly out to the 
address bus; instead, they go 
to the selector, and through it 
to the address inputs of the 
RAM. The top four bits of the 
address bus come out of the 
RAM's data outputs. So the top 
four bits of the address bus on 
the right need not necessarily 
be the same as the top four bits 
of what the 6809 is putting out. 

There are two new words ap- 
plied to addresses here. The ad- 
dress coming out of the 6809 — 
the address the program 
"thinks" is being called — is 
the logical address. The ad- 
dress that actually appears on 
the address bus and goes to 
memory and I/O is called the 
physical address. In 6800 
systems, which have no DAT, 
the logical and physical ad- 
dresses are always the same. 
Here they may be the same, but 
not necessarily. For instance, 
H every location of the IC11 
RAM is programmed to hold a 
binary 0000, then regardless of 
what logical address the 6809 
is outputting, the physical ad- 
dress will always start with a 
binary 0000. 

On the other hand, if location 
0000 of IC11 is programmed to 
0000, location 0001 holds 0001, 
and so on, up to location 1111 
holding 1111. Then the phys- 
ical and the logical address 
will always be the same, be- 
cause the data coming out of 



the RAM will always be the 
same as the address going into 
it. 

Since the DAT circuit works 
on the high-order four bits, it 
changes the leftmost hex digit 
of a 16-bit address into some 
other digit. For instance, it can 
change a logical 2 into a 
physical 3, so that every 
reference to locations 2000- 
2FFF will actually involve mem- 
ory at 3000-3FFF instead. Since 
each 4K block of memory has a 
different first hex digit, the DAT 
circuit can move 4K blocks of 
memory around. 

When a 6809 system using 
SBUG-E is first brought up, the 
monitor initializes the DAT 
RAM into a known memory pat- 
tern and then goes through 
memory, one 4K block at a time, 
testing each block to see if it 
actually has RAM there. In this 
way, it determines which 
physical addresses correspond 
to real RAM memory. Then, 
regardless of whether this RAM 
is in adjacent 4K blocks or not, 
the monitor readdresses these 
blocks, via the DAT RAM, to 
make them adjacent. Hence, 
regardless of how the RAM 
boards in a system are ad- 
dressed, the DAT will readdress 
them where it wants them, as 
long as two boards don't have 
the same address. 

But this is not the main pur- 
pose; the word "dynamic" in 
DAT is important too. This read- 
dressing can take place dynam- 
ically, that is, as the system is 
running. SBUG-E doesn't seem 
involved here, but other system 
programs can change the DAT 
addressing too. This would oc- 
cur, for instance, in time- 
sharing. 

When two or more users are 
being time-shared on a com- 
puter, they each get a chunk of 
time, called a slice, during 
which their program runs. 
When the time is up for one 
user, his program is stopped 
and another's starts. This "con- 
text switch" can be done in 
several ways. The DAT can 
simply be reprogrammed so 
that the memory blocks as- 
signed to user 1 are simply de- 
leted from the DAT RAM, and 
the memory assigned to user 2 
is relocated, via the DAT RAM, 



to the same logical memory ad- 
dresses previously held by user 
1. If this is done at regular inter- 
vals — every 60th of a second, 
for instance — each user will 
get fast enough response that 
he will be unaware he is sharing 
time on the machine with some- 
one else. 

The context switching could, 
of course, be done in some 
other way too. For instance, all 
the memory assigned to user 1 
could be written out to disk, 
and another user's program 
and data could be read in from 
the disk. This procedure would 
take much longer than leaving 
the material in memory but 
simply readdressing it some- 
where out of the way. 

Dynamic address translation 
such as this is of limited use 
if you're limited to somewhere 
between 32K and 64K of memo- 
ry. The MP-09 CPU board has 
facilities for adding much more 
memory than that. 

The Extended Address Bus 

As mentioned earlier, there is 
room for another 74LS189 
RAM; this one is optional. This 
RAM is IC8, which is wired up in 
a similar way to the DAT RAM in 
Fig. 1. The only differences are 
that the data into the RAM 
comes from the other four bits 
of the data bus (D5 through D7) 
and that the data outputs 
(S0-S3), instead of being part of 
the 16-bit address bus, become 
an extension of it. Counting 
these four bits, the extended 
address bus becomes 20 bits 
wide. With 20 bits, we could ad- 
dress 1,048,576 different 
memory locations for a total of 
1024K, instead of just 64K. 

Essentially, the lower 16 ad- 
dress lines address a 64K block 
of memory, while the four new 
address lines, SO through S3, 
provide for 16 such blocks. 
Let's call each of these 64K 
blocks a page. 

A change from one 64K page 
to another can be done simply 
by storing a new 4-bit page 
number into that optional RAM. 
But a program obviously can't 
flit back and forth between 
pages, since this would greatly 
slow everything down. Hence, 
going from one page to another 
is reserved for special occa- 



sions, such as during complete 
context switches. 

Actually, the system can't 
really be expanded to the full 
1024K of memory. Some memo- 
ry addresses are still needed 
for I/O, a monitor and perhaps 
other important programs such 
as a disk operating system, as 
well as their required RAMs. 
Hence, a certain amount of 
RAM, ROM and I/O will have to 
exist on every page and should 
ideally have the same ad- 
dresses on every page. This 
eliminates a large area of each 
page from being used for nor- 
mal processing, so that the 
total amount of memory is 
quite a bit less. SWTP expects 
the limitation to be 384K total, 
and their reasons are not yet 
entirely clear. 

Note that making proper use 
of both the dynamic address 
translator as well as extended 
addressing up to 384K of 
memory requires two things: 
sophisticated software to keep 
track of what's going on and 
where and a need to do all this. 
There are a great many applica- 
tions where the need for all this 
complexity in hardware and 
software is simply not there. 

One hardware change must 
be made if the address bus is to 
be extended. As shown in Table 
1, the four new address bits, SO 
through S3, are sent along four 
lines on the 50-pin bus, which 
are normally used for baud 
rates. On the CPU board, this is 
accomplished simply by un- 
plugging the MC14411 baud 
rate generator when the op- 
tional memory extension RAM is 
plugged in. 

But since serial interface 
cards still need baud rates, 
these now have to come from 
somewhere else. SWTP is 
therefore offering a baud rate 
generator card, which plugs in- 
to the 30-pin I/O bus and pro- 
vides those signals. A few cuts 
on the motherboard are re- 
quired to isolate the baud rate 
lines on the 50-pin bus from 
those on the 30-pin bus. 

The SBUG-E Monitor 

SBUG-E is the new SWTP 
monitor ROM. It is a 
2716-compatible 2K by 8 ROM, 
which resides on the MP-09 



60 Microcomputing January 1980 



CPU board, addressed at 
F800-FFFF. 

SBUG-E has two possible 
operating modes. As supplied, 
it permits up to 56K of memory 
to be installed on the main 
memory page. But this requires 
that I/O addresses be moved 
from the 8000 region, which 
they occupy in a standard 6800 
system, up to E000. (It's not en- 
tirely obvious why this should 
be needed, considering that the 
DAT circuit should be able to 
move I/O at will. But one reason 
is that the monitor has no easy 
way of detecting, via program- 
ming, where the I/O is.) Hence a 
system will have to be modified 
to work with a standard SBUG- 
E; then it will not work with a 
6800 CPU board. 

However, by changing one 
byte in SBUG-E, you can retain 
I/O at address 8000, but then 
the memory is limited to just 
40K total (32K and 8K, combined 
by the DAT circuit). This requires 
that SBUG-E be read into mem- 



change to the motherboard. 

2. At least 4K of RAM 
memory, physically addressed 
anywhere below DFFF. 

Wherever that RAM is, SBUG- 
E will find it and relocate it, us- 
ing the DAT, to logical address 
D000-DFFF. The region from 
D800 up to DFFF will then be 
used as the monitor scratch- 
pad. (A disk system will need at 
least 8K just to boot the disk, 
and most applications would 
obviously need much more.) 

SBUG-E can be thought of as 
divided into four areas: the user 
command processor, a set of 
user-callable subroutines, an 
interrupt and breakpoint 
handler and an initializer 
routine concerned with, among 
others, initializing the DAT and 
the various ports. 

The user command pro- 
cessor is a greatly expanded 
version of what MIKBUG or 
SWTBUG had. Table 3 lists the 
commands from the keyboard 
that SBUG-E will respond to. 



Control-A — 


Alter the A accumulator 


Control-B — 


Alter the B accumulator 


Control-C — 


Alter the condition codes register 


Control-D — 


Alter direct page register 


Control-P — 


Alter program counter 


Control-U — 


Alter user stack pointer 


Control-X — 


Alter X index register 


Control-Y — 


Alter Y index register 


B hhhh — 


Set breakpoint at location hhhh 


D — 


Boot an SWTP 8-inch floppy system 


U — 


Boot an SWTP 5-inch floppy system 


E ssss-eeee — 


Examine memory from starting address 




ssss to ending address eeee 


G — 


Continue from a breakpoint 


L — 


Load tape 


M hhhh — 


Alter contents of memory location hhhh 


P ssss-eeee — 


Punch tape using specified addresses 


Q ssss-eeee — 


Test memory locations ssss through eeee 


R — 


Display register contents 


s — 


Display contents of stack 


X — 


Remove any existing breakpoints 


Table 3. SBUG-E commands. 


1 





ory, that one byte be modified 
and a new monitor be burned in- 
to a 2716 EPROM. (Instructions 
are in the SBUG-E manual.) Even 
then, though, there are enough 
other small changes that the 
modified system will still not 
work with an old 6800 CPU 
board. 

The standard SBUG-E re- 
quires a system configured like 
this: 

1. An MP-S serial interface 
plugged into port 1 and I/O ad- 
dressed at E000. This requires a 



User-callable subroutines 
now use an address table at the 
very start of the monitor, loca- 
tions F800 and up, to point to 
each subroutine. This allows 
monitors to be easily updated 
without having to go through 
contortions to keep all starting 
addresses the same as In 
previous versions. Standard 
subroutines such as INEEE, 
OUTEEE or PDATA exist (some 
with new names), as well as a 
few new ones: INCHECK 
checks if a character is waiting 




DIGITAL MARKETING announces CP/M* compatible Pascal. 
Pascal/M brings the language power of Pascal together with 
the extensive file handling capabilities of CP/M. 

• Pascal/M allows the user to have full access to CP/M 
data files written in other languages (such as BASIC) 
and stored under CP/M. 

• All CP/M utilities are available for managing Pascal 
Programs. 

• All I/O is fully compatible with CP/M file structure. 

• Built-in procedures provide for terminal-independent 
cursor controls. 

• Standard Pascal/M is available for the 8080/85 or 
Z80 CPUs. 

• A special Z80 version takes advantage of the Z80's 
extended instruction set. 

This package includes diskette with P Code Compiler, Interpreter, and 
Runtime Library; Pascal User Manual and Report by Jensen and Wirth 
and Pascal/M User's Reference Manual. Pascal is available on 5%" or 
8" diskettes. The cost is $350. For manuals only - $35. • Visa/MC. 

*CP/M is a trademark of Digital Research. 



Digital 
Marketing 



2670 CHERRY LANE 
WALNUT CREEK, CA 94596 

(415) 938-2880 
^D63 



software catalog 

for Apple Owners 

WE'RE SAVING ONE FOR YOU! 

Here are a few highlights from our new catalog: 

FILEMASTER 2 Programs: FORMAT & RETRIEVAL comprise a 
powerful Data File Manager. Great for everything from phone lists to 
legal abstracts. Design your own data structure. Up to 500 Char, per sec. 
Up to 15 searchable fields in any combo. Needs 32K.Disk. . . . $34.95 

SPACE Multi-faceted simulation of life in interstellar society. You and 
opponents must make life & death decisions. Keeps track of your pro- 
gress from one game to next. Six games in all. Needs 48K and Apple- 
soft ROM On Disk $29.95 

POT 0' GOLD Our all new collection of 49 programs for 16K Apple. 

Everything from logic to action games. Only a buck a game. 

On Tape $49 On Disk $54 

ADVENTURE Fight off pirates and vicious dwarfs. 700 travel options, 
140 locations, 64 objects. Needs Applesoft & 48K Disk $29.95 

APPLE MONITOR PEELED Everything you wanted to know about the 
Apple Monitor but couldn't figure out. User-written manual in plain 

English clears your confusion $9.95 

To order software, add $2 shipping. Calif, residents add 6% sales tax. Or 
write today for your free catalog. VISA/Mastercharge welcome! 



RAINBOW COMPUTING INC. 



L Garden Plaza Shopping Center, Dept. 1 K 
seda Blvd., Northridge, Ca 91324* (213) 349-5560^ 



iS Reader Service— see page 227 



Microcomputing January 1980 61 



at the control interface; PCRLF 
prints a carriage-return and 
line-feed; LRA finds out what 
physical address a logical ad- 
dress corresponds to. 

Finally, the interrupt and 
breakpoint handlers are written 
in a way that the interrupt 
system can more easily be 
used for user programs. There 
are three SWI instructions in 
the 6809, and each is provided a 
different interrupt vector ad- 
dress in RAM. 

Modifications to Use 

MP09/SBUG-E 

In order to plug an MP-09 CPU 
board into an existing 6800 
computer, you have to make a 
number of modifications. Let's 
describe them very briefly; they 
are covered more thoroughly in 
the MP-09 manual. 

If 40K of memory is enough 
(32K in addresses 0000-7FFF 
and 8K somewhere else, but the 
DAT will make it appear con- 
tinuous), then the I/O address 
decoding on the motherboard 
need not be changed, but 
SBUG-E will have to be modi- 
fied and reprogrammed into a 
2716. (This will obviously have 
to be done before the 6800 CPU 
board is unplugged.) The MF-68 
mini-floppy is supported in this 
case, but the DMAF full-size 
floppy will not work like this. 

To expand above 40K or to 
use the DMAF floppy, all I/O 
must be moved from 8000 up to 
E000. This requires that the 
motherboard have several 
traces cut and several new 
wires added. (This modification 
is much more complicated on 
the older MP-B board than the 
newer MP-B2 motherboard.) 

In either case, the RESET 
switch from the front panel will 
have to be rewired from the 
motherboard; it connects 
directly to a connector at the 
top of the CPU board. Another 
motherboard change will in- 
volve the NMI and FIRQ con- 
nections, which are now dif- 
ferent. 

If a DMAF1 disk controller 
board is used, its addressing 
circuits will need to be changed 
so the disk can be addressed at 
F000-F3FF, instead of the 
9000-93FF used in 6800 sys- 
tems. But note: Once this is 



(ft 



Many think that SWTP has 

gone too far. Their system is 

versatile, but by taking such a 

gigantic step, they are placing a 

burden on those who want 

to convert existing systems. 



J» 



done, you cannot plug your 
6800 CPU board back in. It's not 
exactly an irreversible change 
— you can go back — but it's 
just as much work to go back as 
it is to switch to the MP-09 in 
the first place. Hence, before 
switching to the 6809, it would 
be a good idea to make sure 
that you have all your software 
ready: BASIC, assembler, editor, 
processor, disk operating sys- 
tem, disassembler, utilities. 
That's a tall order. 

Alternative 6809 Approaches 

Private conversations with 
many people involved in 6800 
hardware and software in- 
dicate that many think SWTP 
has gone too far. Their sys- 
tem is versatile, but by tak- 
ing such a gigantic step, they 
are placing a tremendous 
burden on those people who 
want to convert existing 
systems. 

As an example of what I'm 
talking about, consider my 
own system. Since I have some 
nonstandard I/O equipment, 
such as a Selectric typewriter, I 
have a number of I/O subrou- 
tines in 2716 EPROMs on my 
MP-A2 CPU board. They are 
presently addressed from C000 
through CFFF. 

There are extra EPROM 
sockets on the MP-09 board, 
but as mentioned above, they 
cannot be used because their 
addresses conflict with system 
addresses. That's easy, you 
say. Either modify the CPU 
board to change the addresses 
or else install a separate 
EPROM board. 

That raises some questions, 



though. What will SBUG-E do 
with that EPROM? Will the 
dynamic address translator 
move its addresses to some 
other place in memory? Will 
that address be the same every 
time I power up the system? 
Will it be moved dynamically 
around with time? Or, worse 
yet, will the DAT simply ignore 
my EPROM and assign no ad- 
dresses to it at all? 

These questions apply equal- 
ly to non-SWTP hardware. If 
you have an SSB or Percom 
disk, where will the EPROM be? 
If you have a parallel inter- 
face for a paper tape reader, 
or whatever, where will the 
DAT put it? It sure makes it dif- 
ficult for SWTP competitors 
to offer any kind of hardware 
or software. Every customer's 
DAT might assign different ad- 
dresses to it! For this rea- 
son, there are some other ap- 
proaches. 

The Percom 6809 Boards 

Percom Data Company has 
two 6809 boards in the works: 
One is a simple adapter for 
plugging a 6809 into an existing 
6800 CPU board; the other is a 
completely new 6809 board. 

The 6809/6800 adapter board 
was described in the August 
1979 issue of 68 Micro Journal 
in an article by Byron Seas- 
trunk. It contains a 6809, two 
ICs containing a few gates and 
inverters, a crystal and two 
resistors. The circuit, which 
was published in the 68 Micro 
article, mounts on an MP-A2 
CPU board and plugs into the 
socket that originally held the 
6800. 



The circuit could be built 
from the article or from a $69.95 
kit available from Percom. 
Either way, though, you need a 
6809-based monitor. Percom is 
also offering their PSYMON on 
either a 2716 ($69.95) or on a 
Percom diskette ($29.95) for 
burning your own EPROM. Us- 
ing it with an MP-A2 board is 
easy since the monitor can plug 
right into it. For use with an MP- 
A board, you'd need another 
EPROM board, plus a few cuts 
on the MP-A board to discon- 
nect its own ROM socket. 

Use of this adapter board 
still doesn't make it easy to 
switch back and forth between 
a 6800 and a 6809, but at least it 
does not require modifying the 
motherboard or memory 
boards. I suppose the best ap- 
proach would be to wire up a 
separate MP-A2 board just for 
use with the 6809 adapter and 
then switch entire CPU boards. 
(Notice: You can't do that with 
the SWTP 6809 board because 
the motherboard and bus must 
be changed and are therefore 
no longer compatible.) 

The other Percom board is a 
completely new 6809 CPU 
board. Percom's major aim was 
to have a CPU board that was 
completely compatible with ex- 
isting hardware, yet had some 
new features of its own. It has 
enough jumpers so it can be 
configured either to use exactly 
the same bus as a 6800 system 
or to use a bus very much like 
the modified SS-50C bus used 
by SWTP. 

PSYMON, Percom's monitor, 
lies at addresses FC00-FFFF. 
Right on the CPU board are a 
parallel port at F7FC-F7FF and 
a serial port whose ACIA is at 
F7FA-F7FB. Two 2114 RAMs 
on the CPU board provide 1K o1 
RAM at F000-F3FF. All these 
addresses are fully decoded, so 
that other parts of this address 
range can be used for other pur- 
poses without interference. 

Percom also is introducing a 
video board they call the Elec- 
tric Window (EW). Their CPU 
board and monitor are set up to 
use the EW in the following 
way. When first powered up, 
PSYMON checks the video 
board's addresses to see if it is 
there. If the EW is connected, 



62 Microcomputing January 1980 



then it configures itself to use 
the EW for output and the paral- 
lel port on the CPU board for 
keyboard input. The CPU board 
has 1K of RAM, so that the 
CPU/EW combinations can run 
programs all by itself. 

If the EW is not connected, 
then PSYMON configures itself 
to use the serial port on the 
CPU board for I/O. There is a 
connector at the top of the 
board exactly like the one at the 
top of an MP-S serial interface 
card, so the terminal is just 
unplugged from the MP-S into 
the CPU board. The CPU board 
has baud rate generators, so, 
again, this one board can run 
programs. 

Percom's CPU board does 
not have the dynamic address 
translator, since Gimix, SSB, 
Percom and other manufac- 
turers offer devices, such as 
disk controllers, that need to 
know what addresses they are 
at. Since the SWTP monitor and 
DAT circuit put them where 
they want to, the DAT circuit on 
an SWTP CPU board would 
have to be disabled anyway to 
bring up the system. So Percom 
omits the DAT. 

But there is provision for ex- 
tended addressing. Normally, 
the CPU board's baud rate 
generator feeds its own ACIA 
as well as the baud rate lines on 
the bus. If no external serial in- 
terfaces are needed, then the 
baud rate lines and the buffer 
on the CPU board used to drive 
them will be used for extended 
addressing. 

With just 32K of memory 
from 0000-7FFF, all the regular 
I/O can be left at 8000 (except 
for the terminal, which is now 
plugged into the CPU board). 
Otherwise, by modifying the 
motherboard, you can plug in 
up to 60K of memory if the I/O is 
moved up to the F000 region. 

PSYMON comes in a 2708 
EPROM and fits into one of two 
2708 sockets on the CPU board; 
the other socket can be used 
for extended routines. But the 
two 2708 sockets can be 
jumpered to use either the Intel 
5-volt 2716 or the Tl TMS-2716, 
for a total of 4K of ROM. Nor- 
mally, though, these sockets 
are addressed at F800-FFFF 
for 2708s, and the onboard 1K 



RAM is at F000-F3FF. The Elec- 
tric Window would be at E800. 
PSYMON is quite a bit 
simpler than SWTP's SBUG-E. 
It occupies 1 K at the very top of 
memory, but as soon as it ini- 
tializes, it checks whether there 
is another ROM plugged into 
the other ROM socket. If so, 
it jumps to that ROM. Hence, 
PYSMON can be easily ex- 
tended for more commands just 
by plugging in another IC. 

PSYMON's Basic Command 
Functions 

Memory examine is similar to 
MIKBUG's, but it saves the last 
address you looked at. It 
checks for bad memory, but on- 
ly prints a question mark when 
it finds a location that won't 
write properly. This is done so 
that it is easier to change con- 
tents of I/O port registers. 

Load and Save are also 
similar to MIKBUG, except that 
the load prompts for beginning 
and ending address instead of 
having to use addresses A002 
through A005. 

Up to ten breakpoints can be 
set into a program. They can be 
set and unset selectively or all 
at once. A command exists to 
print out the addresses of all 
outstanding breakpoints. 
When a breakpoint is en- 
countered in a program, it is 
deleted. 

Register dump and GOTO are 
similar to those of 6800 
monitors. 

Percom has a different 
philosophy on monitors and 
I/O. Their thought is that 
monitors should be simple, so 
they don't try to anticipate all 
the possible I/O and memory 
combinations users might 
hook up to the system. They 
did, however, try to make their 
I/O somewhat device-indepen- 
dent by having a small area of 
memory in RAM, called a DCB, 
or device control block, 
devoted to each I/O device. This 
DCB specifies the type of each 
serial or parallel device and 
where it is addressed. To 
change an I/O device, it's only 
necessary to change the DCB 
pointer in the scratchpad RAM. 
This allows echoing and l/O-to- 
l/O transfer by manipulating 
the DCBs. 



GIVE YOUR TRS-80 WHAT IT DESERVES 

All tapes $10.00 each, on cassette. 

C.O.D. orders accepted 

Choose Level I or II. 

A television station in Florida chose our Bioforecast program (catalog # 
CS-1) to use in a special news broadcast during the November 1978 state- 
wide political elections Many think ours is the best biorhythm program ever 
written And it loads and executes in less than 4K' 

One customer is using ou r Orbit programs (catalog # CS-2) to help him in 
the weather satellite work he does for the Air Force. 

Recreation centers, schools, businesses, doctors, and housewives are 
using our Lend Out program Lend Out (catalog #CS-7) keeps track of things 
loaned out to people Its high utility, together with its many features and 
ease of use. have made it a best seller 

And speaking of best sellers . . . 

Our Turkey Buzzard game (catalog # GT-4) has made an even bigger 
splash than we expected It is a game that has everything: a detailed 
scenario, character animation, and a general arcade style It's chocked full 
of dangers and comic pitfalls. No wonder there are those who say it may be 
the most successful work ever to combine a continually changing plot with 
all TRS-80 graphics capabilities Already it is becoming a classic among 
classics. 

All of the above programs will execute in less than 4K RAM' You can't get 
those programs from any other company We invented them and only we 
own the rights to them Sure you can buy one of those cheap software 
library'' deals, but most of the programs they feature can be found in books 
Books you can check out from your public library for nothing 

So for something truly different for your computer, look to the creati ve 
software company 

Send SASE to receive the product list faster. 

e Mm st. Compurex O 

PO Box 536 Inman SC 29349 



LET YOUR TRS-80 HELP YOU FIGHT; 
THE HIGH COST OF LIVING!! 

Inflation is robbing every consumer of the purchasing power of his dollar. 
There is no known way to completely stop this invisible bandit; but now, using 
your computer, you can minimize some of the bad effects on your house-hold 
budget with the Computrex HOMEBREW PRODUCTS PROGRAM! With the in- 
formation this cassette software package provides, the average consumer can 
save as much as 50 to 90 percent on the price of common domestic products 
(from antiperspirant to window cleaner). This is because your microcomputer 
can tell you simple, easy ways to make these products from scratch in your 
home. Most products have low-cost ingredients which you can obtain at your 
local grocer, drugstore, or building supplier. The operation of this program is so 
obvious and straightforward, the documentation so complete and clear, that 
anyone can use this program effectively almost as soon as they receive it! No 
knowledge of computers is required. 

Features: 

1 ) Finds a product's formula or recipe by either the product's name or category 
use. 

2) It's fast! Mo long waits for information. 

3) When asked,the program gives a complete listing of all products for which it 
has formulas, and also displays their categories. 

4) Special test feature which can check to see if the entire program loaded 
properly. 

5) More! 
The HOMEBREW PRODUCTS PROGRAM is a Computrex exclusive. You 

can't get it from any other company. So show everyone that that computer of 
yours is more than just a game-playing toy. Order your copy of this unique soft- 
ware package today! Price: $ 1 6.95 (requires 16K LEV-II) 

See "NEW PRODUCTS" —ctlon of the November issue of this magazine. 
Also check back issuss for ads describing some of our other fins products. 

Note: We do not sell software through dealers and stores because our anti- 
plagiarism system will only work effectively with an exclusively mail- 
order market. 

C.O.D. orders accepted. Phone # in our Oct ad is incorrect. Please 
Phone: 1 -803-472-2083 "•• # ,n tn, » ad to contact Computrex 

Send S. A.S.E. to receive our product list faster. 

6MHISt QxTpuircx O . C86 

PO Box 536 Inman SC 29349 



%S Reader Service— see page 227 



Microcomputing January 1980 63 



Percom is trying to make 
their CPU board versatile 
enough so that most SWTP and 
TSC software is likely to run on 
it. On the other hand, they also 
have to support their own disk 
systems, which require dif- 
ferent disk drivers. 

Their past approach in this 
respect has been to offer their 
own software (they have an ex- 
cellent assembler and random 
BASIC, for instance), adapt 
other companies' software to 
run on their systems (Ed 
Smith's software is a good ex- 
ample), and as a last resort, 
simply provide at either low 
cost or no cost at all patches to 
other people's software to 
make it work on their disks (for 
instance, they have patches to 
Microware's cassette A/BASIC, 
Smoke Signal Broadcasting's 
Source Generator and TSC's 
Text Editor and Processor). It's 
a fairly safe bet that they will do 
the same for their 6809 CPU 
board. 

The Gimix CPU Board 

Another contender in the 6809 
CPU board race is Gimix (1337 
West 37th Place, Chicago IL 
60609). 

About a year ago, Gimix in- 
troduced their new 6800 main- 
frame. Compared with the 
cabinets SWTP users have got- 
ten used to, this one is built like 
a tank. (Even the screw holes 
line up.) The power supply itself 
probably weighs more than the 
complete computer of "the 
other brand." Needless to say, 
the price is several times 
higher, but for industrial users 
this may not be significant. 

About the middle of 1979, 
Gimix started to ship this main- 
frame with their new 6800/6809 
motherboard. This board has 
some of the features that will 
be needed in 6809 systems of 
the future. 

Aside from a variety of 
jumpers to give all sorts of op- 
tions, Gimix puts the baud rate 
generator on the motherboard. 
This releases the five baud rate 
lines on the 50-pin bus, yet pro- 
vides the required signals to I/O 
boards. 

If you've noticed the RS2 and 
RS3 lines in Table 2, you may 
have wondered what they were. 



6800 systems had a pair of lines 
called RS0 and RS1 , which were 
actually two buffered lines 
from the address bus and were 
used by the I/O interfaces to 
give each I/O slot up to four ad- 
dresses. For instance, you may 
remember that an MP-C control 
interface in port 1 had four ad- 
dresses, 8004 through 8007, 
which were selected via the RS 
lines. 

But there were some cases 
where four addresses per port 
were not enough. For instance, 
the SWTP MF-68 disk controller 
required a jumper in port 5, so 
that some of the addresses of 
port 5 were available to the disk 



ones as well) can be used. 

Now, to go with their new 
cabinet and motherboard, 
Gimix has designed a CPU 
board. Details are a bit sketchy 
at the time of writing, but it is 
obvious that Gimix is going 
another route. Instead of 
writing their own software to fit 
the board, they are designing 
the board to fit a major soft- 
ware undertaking that Mo- 
torola and Microware Systems 
Corp. are working on. 

What About Software? 

TSC has already announced 
their initial 6809 programs. At 
first glance, they appear to be 



tt 



Everyone must make his own 

decisions on conversion to the 

6809, but my own thought is that 

this is the time to sit back and 
wait for the dust to settle. Per- 
haps you shouldn't switch at all. 



J» 



interface in port 6. 

The new 6809 systems an- 
ticipate those problems by pro- 
viding two more address lines 
to the I/O ports, so that each I/O 
port can have up to 16 ad- 
dresses. The Gimix mother- 
board also has those lines; its 
I/O block is therefore 32 bytes 
long if only four addresses are 
used per port (four addresses 
times eight ports), 64 bytes if 
eight addresses are used or 
128 bytes if 16 addresses are 
used. The decoding is thorough 
enough that these are all the ad- 
dresses that I/O requires. 

The Gimix motherboard also 
has an optional circuit that pro- 
vides the appropriate Memory 
Ready (M.RDY) signal to slow 
down the CPU whenever an I/O 
operation is being done. The 
idea here is to give I/O a bit of 
extra time if a fast 2 MHz clock 
rate is used, so that older I/O 
boards (and probably slower 



simply reassembled versions of 
their 6800 programs, with some 
updating to adjust such factors 
as timing loops. Their 6809 pro- 
grams include: 

6809 FLEX with Editor and 
Assembler. This requires mem- 
ory at C000 and costs $90. 

The Text Editor ($35) and the 
Assembler ($40) are available 
separately in cassette form. 

TSC BASIC at $65 should 
turn in a stunning performance 
in the speed department. Unfor- 
tunately, with just six-digit 
math, it's a little limited for any 
kind of business application. 

The 6809 Debug Package 
($75) for tracing and debugging 
programs. 

TSC's advertising doesn't 
answer some important ques- 
tions, such as whether their 
new FLEX will read text and 
binary files from disks written 
on a 6800 system. That's crucial 
if you're going to convert some 



of your old 6800 software to 
the 6809. 

Another 6809 product is a 
6809 simulator that will run on a 
6800; it's available from Micro 
Works. 

Two products that I think will 
be essential are a 6809 
assembler that will run on a 
6800 and a 6800 disassembler 
that will run on a 6809. Nobody 
seems to be offering them, but 
for anyone who wants to con- 
vert his 6800 programs to a 
6809, they would be very useful. 

Perhaps the most ambitious 
6809 software project is the 
one being developed jointly by 
Microware and Motorola. It is to 
be a fast and versatile BASIC, 
which Motorola intends to sell 
in ROM at a low price. (Gimix is 
waiting for it to appear before 
finalizing their CPU board. 
Wonder whether it will be com- 
patible with the SWTP ap- 
proach.) 

The BASIC, which is called 
BASIC-09, is an incremental 
compiler; that is, each line is 
partially translated as it is 
entered. This also means that 
syntax errors are caught right 
away. 

It is meant to be an expanded 
BASIC, which has all of the 
"standard" BASIC features, as 
well as some versatile exten- 
sions to make it more like 
PASCAL. In fact, Motorola 
hopes that it will become more 
popular than PASCAL Much 
like PASCAL, it will have 
I F ... TH EN ... ELSE; 
WHILE ... DO; REPEAT. . . 
UNTIL-type statements. It's 
supposed to be procedure- 
oriented; that is, a program is 
divided up into more-or-less in- 
dependent procedures, each of 
which handles a specific job. 
Each procedure can have vari- 
ables that are strictly local and 
whose names can be reused 
elsewhere without conflict. 
Procedures are called by a 
name, along with some argu- 
ments for input or output from 
the procedure. Variable names 
can be any length. 

It is also supposed to have 
user-defined data structures; 
for instance, a data structure 
can be thought of as a special- 
purpose array whose entries 
have different characteristics. 



64 Microcomputing January 1980 



BASIC-09 has many other fea- 
tures, but the final language will 
be determined by how much Mo- 
torola can squeeze into one 
ROM. 

The operating system, OS-09, 
is also being worked on but 
may not be available until later. 
It's designed for multitasking 
— running several different 
programs (tasks) at the same 
time, while they share pro- 
grams, memory and I/O devices 
to some extent. That is quite 
an interesting, and advanced, 
concept. The question is, will 
it work with the XYZ CPU 
board? 

Standards and Compatibility 

The problem with all this is 
that different manufacturers 
are seemingly headed in dif- 
ferent directions. Once you 
pick a particular hardware ap- 
proach, you are committing 
yourself to a whole system. It's 
like buying a Kimura camera 
. . . only Kimura lenses will fit, 
and only Kimura makes the 
right size film. Unfortunately, 
this will bring you down to the 
level of all our S-100 friends, 
who have that problem all the 
time. It kills the one feature of 
our 6800 systems: Every 6800 
system is like any other one in 
terms of addresses, and so if 
you buy a new piece of hard- 
ware or software, you need only 
plug it in, and it will work. 

Everyone must make his own 



decisions on conversion to the 
6809, but my own thought is that 
this is the time to sit back and 
wait for the dust to settle. And 
perhaps you shouldn't switch at 
all. 

For me, switching to the 6809 
processor would obsolete all 
my software investment, which 
at this point is several hundred 
dollars' worth. Although the 
6809 is supposedly compatible 
with the 6800 in software, its 
machine language is different. 
Hence all my software would 
have to be reassembled to 
work. For those programs for 
which I have the source code, 
this is feasible. But for the rest 
it would be very difficult. 

Even so, much of this 
reassembly would have to be 
done before switching CPUs, 
so that the instant the new 6809 
CPU was up, I would have all of 
the software I needed— a mon- 
itor, disk operating system, 
editor. Since it is likely that 
simple reassembly might not 
be enough, I then visualize long 
periods of switching back and 
forth between new and old 
CPUs before everything 
works . . . not to mention that I 
would need a cross-assembler 
— an assembler that translates 
6809 code but runs on the 6800. 

I am sufficiently happy with 
my present system that I'm not 
sure I'd want to go through this 
hassle. Just talk to any com- 
mercial data processing man- 



ager who went through the job 
of converting from the IBM 1401 
to an IBM 360 back in the 60s. 
There are some harrowing tales 
there. 

I also have a hunch that the 
days of reasonably priced soft- 
ware are over. One of the big 
pluses that often swung a sale 
toward the SWTP system was 
the price of BASIC and Cores. 
What other system could boast 
an excellent— if slow— BASIC 
for $10 or an editor and assem- 
bler for $15? Robert Uiterwik 
wrote our SWTP BASIC more 
out of love than for any interest 
in the cold, hard stuff. And 
SWTP was in the hardware 
business; software was an add- 
ed incentive, not a business for 
them. Considering copying 
costs and all that, they proba- 
bly lost money on every 
cassette they sold. 

But look at the software 
market now. SWTP is, I think, 
leaving the software market 
altogether. The latest TSC 
BASIC is $50 or so; Microsoft's 
quoted price for their 6800 
BASIC is $50,000. 

To some extent, the nature of 
the customer has changed. Pre- 
viously, you bought BASIC for 
$10, and if it had bugs, then a 
few months later you bought 
the next version. In the mean- 
time, you changed your pro- 
gram so it wouldn't be bothered 
by the bugs. 

But now, with the small- 



business user in the act, that 
won't happen. If there is a bug, 
he will expect to be able to call 
up the software house and get 
a fix. When a patch comes up, 
he wants it sent to him auto- 
matically. Naturally, that 
changes the price the software 
house can charge. 

So, assuming the higher soft- 
ware prices that seem to be 
coming, I suspect that the price 
for switching to a 6809 system 
will break down as shown in 
Table 4. 

Maybe I'm being overly 
pessimistic, but the question 
remains: Is it going to be worth 
it? To paraphrase a popular 
song, "What'll we have that we 
ain't got now?" 

Next month, we will discuss 
some techniques for single- 
drive disk systems, converting 
the SWTP 2716 EPROM pro- 
grammer to work on 2708 
EPROMs and other EPROM 
boards and programs. ■ 



Hardware (CPU Board) 


$175 


Software. BASIC 


$ 65 


Editor 


50 


Assembler 


30 


Text Processor 


50 


Disassembler 


50 


Debug pack 


75 


DOS 


50 


Disk utilities 


75 


Software total 


$445 


Total 


$620 


Table 4. Estimated cost of 


switching to a 6809 system. 



*^X4 



MONITOR $149, 12 B&W 





!"#$3&'0 *+,-. -012456739: ;<=>^ 
^CDEFGHijKLMN0P9R5TUUWXVZC , 'a A . 

i bcdef9hi..ikli-m0pqrStil i v'WXy2<!>-! 



5CT-100 VIDEO BOARD FEATURES 

• 64x16 line format with 128 displayable characters 

• Serial ASCII or BAUDOT with multiple Baud rates 
• $197 Assembled or $167 Kit (Partial Kit $99) 
• Full cursor control with scrolling and paging 
• On board power supply 

• Serial interface RS232 or current loop 

• Purchase SCT-100 alone or complete terminal 



JOMPLETE KEYBOARD TERMINAL $375 

Full Kit $325 (includes SCT-100) 




IWIMY f*f\t% A 98ttl ^hartwell Drive 

//Al 1 1 A \AJI\K Dallas, Texas 75243(214)349-2490 

ORDER BY PHONE/Overseas orders & dealers welcome 



iS Reader Service— see page 227 



Microcomputing January 1980 65 



Allan S. Joffe W3KBM 
1005 Twining Rd. 
Dresher PA 19025 



Outer Limits Addition 



This handle on programming lets you smash some of the limits on programming. 



10 

20 

25 

30 

40 

50 

60 

70 

100 

110 

130 

140 

150 

160 

170 

180 

190 

200 

210 

220 

230 

240 

250 

260 

270 

280 

290 

300 

310 

320 

330 

340 

350 

3 60 

370 

380 

390 

400 

410 

420 

430 

440 

450 

460 

470 

480 

490 

500 

510 

520 

530 

540 

550 

560 

570 

580 

590 

600 

610 

620 

630 

640 

650 

660 

670 

630 

700 

710 

720 

730 

740 

750 

760 

770 

780 

790 

800 



REM LARGE NUMBER ADD PROGRAM BY JAY JOFFE 

REM MODIFIED BY W3KBM 

CLEAR 

CLS 

CLEAR 2000 :REM ADDITION OF LARGE INTEGERS 

DIM A(100) 

DIM B(100) 

DIM N$(100) 

DIM T(100) 

PRINT: PRINT 

PRINT "THIS IS AN INTEGER PROGRAM. ..NO DECIMAL POINTS PLEASE 1 

PRINT "INSERT NUMBERS WHEN PROMPTED BY ?": GOTO 160 

GOTO 140 

GOSUB 340 

GOSUB 400 

PRINT " " 

PRINT "A+B="; 

GOSUB 560 

GOSUB 630 

FOR W - 2 TO 100: A(W)=0: B(W)=0 : NEXT W: GOTO 25 

GOTO 140 

GOSUB 400 

GOSUB 630 

FOR X« (101-LEN(N$)) TO 100 

T(X)= ASC(MID$(N$,Y,l))-48 

IF T(X)>9 OR T(X)^0 THEN GOTO 310 

Y-Y+l 

NEXT X:GCTO 330 

PRINT "NON NUMERIC DATA" 

FOR X = 1 to 440:NEXT X: RUN 

RETURN 

T-l: N$«"" 

INPUT "A-";N$ 

SIZE=LEN(N$) 

GOSUB 260 

GOSUB 780 

RETURN 

Y-l: N$«"" 

INPUT "B=";N$ 

SIZE = SIZE-LEN(N$) 

FOR J«l TO SIZE 

J$=J$+"0" :NEXT 

N$=J$+N$ 

GOSUB 260 

GOSUB 770 

RETURN 

FOR P« 100 TO 2 STEP -1 

IF A(P)< 10 THEN GOTO 540 

C= INT (A(P)/10) 

A(P-1)»A(P-1)-K: 

A(P)-A(P)-(10 *C) 

NEXT P 

RETURN 

FOR R - 2 

A(R)=A(R) 

NEXT 

GOSUB 490 

RETURN 

GOSUB 720 

N$="" 

GOSUB 790 

GOSUB 720 

N$="" 

FOR X= T(l) TO 100 

N$-N$4CHR$ (A(X) -*48) 

NEXT X 

PRINT N$: INPUT "PRESS ENTER TO CONTINUE' 

RETURN 

FOR X= 2 TO 100 

IF T(X)=0 GOTO 750 

T(l)-X: GOTO 760 

NEXT X 

RETURN 

FOR X =1 TO 100:B(X)=T(X) :NEXT:RETURN 

FOR X =1 TO 100:A(X)=T(X) :NEXT:RETURN 

FOR X =1 TO 1 00 : T (X ) =A ( X) : NEXT: RETURN 

END 



TO 100 
+ B(R) 



;D$ 



Program listing. 



Once you get past certain 
items, such as breathing, 
eating and sleeping, it becomes 
a bit sticky to define what else 
may be of Universal importance. 
For instance, as the owner of a 
brand new TRS-80 Level II, you 
may not care that you cannot 
get last-digit accuracy with the 
following addition problem: 99- 
9999999888888888 + 2. 1 E + 1 8 
is what will be displayed on 
your monitor. You can tell by in- 
spection that the accuracy to 
the last digit will show the real- 
life answer to be 999999999888- 
888890. Certainly, you will not 
let "hitting a limit" cause you to 
send your TRS-80 back to its 
mother with a note asking, 
"What gives?" It is all too true 
that for practical folk the differ- 
ence in the two answers is not 
going to mean much. 

However, for you fans of the 
infinite, you folk of all persua- 
sions that aspire to be pro- 
grammers, limits are annoying. 
They represent a chance to ex- 
tend the capabilities of your 
machine into the outer limits 
and at the same time exercise 
your skills at what it is really all 
about, in other words, pro- 
gramming. 

The Program 

By now you must be fairly 
sure that there is a way to turn 
your TRS-80 into a nitpicking, 
last ditch, last digit, adding 
fool. The Program listing here 
provides one answer to the 
problem. 

The largest portion of this 
program was produced by my 
son, Jay, in response to my ini- 
tial frustration with the basic 
premise of it all: "Why can't I 
get this machine to do what I 
think it should do rather than 
what I think I told it to do?" 

Examining the listing, be 
aware that it is an integer pro- 



gram only. If you try to slip in a 
decimal point, one of the nicely 
nested subroutines will print 
the message listed in line 310, 
"Non Numeric Data," and send 
you back to the start. It will do 
the same thing if your wander- 
ing fingers should strike a letter 
on your keyboard. The program, 
fundamentally, puts the two 
numbers to be added into 
aligned arrays and then pro- 
ceeds to add them and print out 
an answer. 

If you examine the listing 
closely, you will see a variable 
called SIZE, which first appears 
in line 360. This line with its 
companion lines inserts lead- 
ing zeros into the appropriate 
array cells that may or may not 
be filled with pertinent numeri- 
cal information. If you calcu- 
late a sum with pencil and 
paper, you do the same thing by 
carefully aligning the numbers 
one under the other so you can 
properly add them. You do not 
write in the leading zeros, but 
your method is the same. You 
can mentally ignore these 
gaps, but if the computer is to 
function properly it must fill in 
those gaps, since it has no 
imagination to help it while it 
adds. 

Consider line 340 in the pro- 
gram— Y=1: N$ = "". The "" 
may possibly be unfamiliar and 
lead to problems when you key 
the program into your machine. 
This symbol is composed of 
two quote marks with no sepa- 
ration as typed, and essentially 
it provides a NULL, which re- 
sets the value of N$ back to 
zero. 

Jay tends to lean toward a 
type of structured program- 
ming that may initially be hard 
to follow due to the liberal use 
of nested subroutines. You may 
knock this approach, but it 
does work well.B 



66 Microcomputing January 1980 



15 ISSUES FOR $15 / 

□ YES . . . enter my subscription for 12 months of Kilobaud Microcomputing for $15 (a 
$15 saving off the newsstand price) and send me three more great issues FREE!!!! 

Please send me the following issues: 

#1 #2 #3 

(please print month & year) 

My alternate choices are: 



#1 n #3 

(please print month & year) 

Important: indicate subscription status. 

□ New Subscription D Renewal □ Payment enclosed 
Bill my: □ VISA □ Master Charge 
Card# - Ex P date 



Signature 
Name 



Address 



City State Zip 



Canadian subscriptions add $2 a year. All other foreign subscriptions $23 one year only, payable in U.S. funds. Please ^ 

allow 4-6 weeks for delivery of first copy. C>j 

Kilobaud Microcomputing/Subscription Services Depl. •P.O. Box 997 • Farmingdale NY 11737 

15 ISSUES FOR $15 / 



□ YES . . . enter my subscription for 12 months of Kilobaud Microcomputing for $15 (a 
$15 saving off the newsstand price) and send me three more great issues FREE!!!! 

Please send me the following issues: 

#1 . #2 #3 

(please print month & year) 

My alternate choices are: 

#1 _ #2 #3 

(please print month & year) 

Important: indicate subscription status. 

□ New Subscription □ Renewal □ Payment enclosed 
Bill my: □ VISA □ Master Charge 
Card# Ex P date 



Signature 
Name 



Address 



City State _______ Zip 



Canadian subscriptions add $2 a year. All other foreign subscriptions $23 one year only, payable in U.S. funds. Please ^ 

allow 4-6 weeks for delivery of first copy. 

Kilobaud Microcomputing/Subscription Services Dept. •P.O. Box 997 • Farmingdale NY 11737 



BUSINESS REPLY CARD 

FIRST CLASS PERMIT NO 17 PETERBOROUGH NH 03458 



POSTAGE Will BE PAID BY ADhME V;t F 



kilobaud 



MICROCOMPUTING 

Subscription Department • Box 997 
Farmingdale NY 11737 



NO POSTAGE 

NECESSARY 

IF MAILED 

IN THE 

UNITED STATES 



^ ^ ■i, ii ■ 




BUSINESS REPLY CARD 

FIRST CLASS PERMIT NO. 17 PETERBOROUGH NH 03458 



POSTAGE Will BE PAID BY ADDPf 



kilobaud 



MICROCOMPUTING 

Subscription Department • Box 997 
Farmingdale NY 11737 



NO POSTAGE 

NECESSARY 

IF MAILED 

IN THE 

UNITED STATES 




15 ISSUES FOR $15 
KILOBAUD MICROCOMPUTING 
SUPER OFFER! 

If you've been thinking about subscribing to Kilobaud Microcomputing, this is 
the time to do it. Subscribe today at the special discount price of $ 1 5 (save 
$ 1 5 off the newsstand cost for one year) and receive your choice of 3 back 
issues from the following pages FREE! If you already subscribe to Kilobaud 

Microcomputing, you know what a fine magazine it is, and 
you'll want to renew now . . . and receive your 3 free issues 
too! 





Look over the wealth of information included in these issues. By subscribing 
now, you can choose 3 free issues and start your encyclopedia of Microcomput- 
ing right away. Simply indicate on the attached postage-paid card the issues 
you wish to receive. Please indicate 3 alternate choices as these issues are go- 
ing fast. Allow 4 to 6 weeks for delivery. (Your subscription will begin with the 
next published issue.) 



January 1977 

□ Is the Z80 the Wave of the Present' 

□ Tiny BASIC 

□ How a Memory Works 

□ Software Exchange 

□ Practical Microcomputer Programming Part 1 Logical 
Instructions 

□Well. Your Micro's Built where do you grow from here 
□Computer Control of the World' turning ac powered 
devices on and off with your computer 

□ Wire Wrapping 

□ The Hobbyist's Operating System Parr J Introduction 
and Master Plan 

□ Solving Some of the Software Interchange Problems 
□Welcome to Assembly Language Programming 

□ Programming' It's Simple 1 

□ Structured Programming 

□Computers in Coif help tor the handicapped 

□Computer Widow 

□What's that Digital Group Really Doing' 

□ How to Use the New PR 40 Printer 

□ Fire' let your micro call tor help 

□ A Teletype Alternative 

□ Noboby Knows the Troubles I've Seen 

□ Structured BASIC A negative view by Dr Kemeny. the 
author of BASIC 

□ Six Games on a Chip 

February 1977 

□ZAP' 

□Chasing Those Naughty Bits 

IDWhy So Many Computer Languages' 

□ The Remarkable Apple Computer 

□ Beware the Wumpus 
□Chase' 

□Will the Z-80 Crush All Competitors' 

□ Practical Microcomputer Programming 
atmg Systems 

□ The Trouble with Mass Storage Systems 
□A Useful Loan Payment Program 

□ Submarine' a game for the SR-52 
□The Hobbyist's Operating System 

with the Monitor 

□ Found A Use for Your Computer' 
the KIM 

□Sophisticating a Surplus Keyboard 

□ At the Races 

□ RCA Tries Again with the 1802 
□8080 vs 370 

□Cut 6800 Programming Time with this Extraordinary Pro- 
gram 
□7x9 = 56 

□ Learning Computerese 

□ How to WIN the Surplus Game 
□Making Money Is Nice 

□ The 8080 You May Have Missed 

□ The Kill a Byte" Standard 

□ A 6800 Single Stepper 
□Computerized Statments 



The Paper Tape Caper 
□Computers for Free' 
□A New Approach to the 6800 the Astral 2000 

lourney into the CPU 

Only Five Senses 

Floppy Disks 

The lupiter II 

How to Win $25,000 of Your Own Money 

□ Using the "$50" Terminal 

□ External Mass Storage Part 2 Digital and Audio Cas- 
sette Systems 

□Make Your 680b Smarter a cheap memory expander 

□ Stop Bugs Now' 

□Clocked Logic Part 1 The D Type and IK Flip-flops 
The Gory Details of Cassette Storage 

□ The Fun of Learning BASIC 

□ Super-Tube lazzmg up the Digital Croup TVT 



April 1977 



using microprocessor interrupt 



Part 3 Command 



Part 2 Oper 



Part 2 Interfacing 
a clock program for 



□ interrupts Exposed 
capability effectively 

□Clocked Logic Part 2 Some Basic Applications 

□ Build an Eight Channel Multiplexer for Your Scope 

□ Sorting Routines 
DNumber Rounding Program 

□ Meet the Tarbell/KC Interface 

□ Super-Tester a digital design aid 

□ The Hobbyist's Operating System 
Language Processing 

□ The Slow-Stepping Debugger 

□ BASIC-The Easy Way 

Now You Can Use Software Timing Loops 
KIM-1 Memory Expansion 
Heavy Duty Power Supply 

□ Digital Audio 

□ HI-LO 

Interfacing the Analog World 

f verything about Semiconductor Memory 

□ Three-State Logic explanation of a key microprocessor 
element 

Automatic Memory Dumper utility dump program for 
b8()0 users 

Hangmath' a new puzzle game 
Sow- BASIC for the 8008-Even' 
[ ^Microprogramming an insight into microprocessor de- 
sign 

>mputenzed Babysitter 



May 1977 



March 1977 



□ Practical Microcomputer Programming 
ware. Tools 

□ The Motorola Way' review of the MIK6800DI 

□ Let's Hear It for the 680b! 



Part i Soft 



□Clocked Logic 

Functions 
□Cure Those End-of-Month Blues 

program 

□ Make Your Investment Count 
custom MP-68 

□ Speed Up Your 6800 
□Who's Afraid of RS-232 

□ Is it High'-or Low' 
ventions 

□Know Thyself confessions of a kit builder 

□ Protyping Systems Exposed' a revealing look at the In 
tercept \r 

□ Interrupts Exposed Part 2 Implementing an Interrupt 
driven System 

□ Digital Audio Part 2 Generating that Weird Music 

□ Now It's Imsai BASIC 



Part 3 Data Converters and Special 

with a sales analysis 

the inside view of a 



data communications explained 1 
understanding logic design con- 



□ Bridging the Gap tips on turning an application into a 
program 

□ Adding Plop" to Your System a noisemaker tor com- 
puter games 

□ Lunar Lander 

□ Silence Noisy Teletype Motors Part 1 Getting the Ball 
Rolling 

□A Home Computer Pioneer profile of Don Tarbell 

June 1977 

□ Build Your Own Interface 

□ Computer Club Promotional Techniques 
□Artillery Practice 

□ Put a Micro in Your School 

□ Torpedoes Away' 

□ Build a Pulse Generator 

□ A TVT For Your KIM 

The BYTLDrSTROYER review of an IPROM eraser 

□ BASIC Timing Comparisons 

□ Solving Keyboard Interface Problems 

□ A Clean Cassette 

□ Try a Design Console for practical hardware proto- 
typing 

□ Try Solar Energy 

□ Simplified Billing System 
business 

□ Kilobaud Klassroom No 
plained 

( omputen/ed Typesetting 
cessing 

□ introducing' The World's Cheapest Computer a $60 
SC/MP 

□My Friend is a Computer lunkie 

July 1977 

□ Inside the Sphere Microcontroller 

□ The Great TV to CRT Monitor Conversion 
□Computer Turns Director an interview with filmmaker 

lohn Whitney 
□The Random Number Game 
□Cassette Interface First Aid use your processor to set 

timing 

□ Understand Your Computer's Language 

□Kilobaud Klassroom No J IK Flip-Flops and Clock 
Logic 

□ Digital Audio Part 3 Signal Expansion and Compression 
It Was Great' reviewing The First West Coast Computer 

Faire 

□ Pass the Buck computer decision-maker program 

□ Inside the Ama/ing ASR 33 checking out the most 
popular terminal 

□Try Computer Composition 



in BASIC for the small 
2 Gates and Flip-flops £x- 
an introduction to word pro- 



August 1977 

□Cassette I/O Format 

□ Expand Your SWTP 6800 

□ Trigger Your Oscilloscope 

□ Sobriety Tester Program 
□Random Integer Program 

□ Test ICs With Your Micro 

□ Heavy Duty Altair Power Supply 

□ Is the KIM-1 For Every i' 

□ Electronic Design by Computer 

□ Understand Your Computer's Language 
tion Sets 



with a new 8K board 



Part 2 Instruc- 



kibbcud microcomputing 

15 ISSUES FOR $15: A SUPER OFFER 



August 1977, continued: 



DEnter the Audible Computer' 
DTime Bomb Came 

□ Try a Do-All Program' 

□ Sooo. You Want to be an Author' 

DSWTP 4K BASIC Note* implementing it on the bdOb 

□ Hexdec hexadecimal to decimal conversion 
DStart a One-Man Computer Club 

□ Troubleshoot Your Software a trace program for the 
6502 

DCure that Hot Power Supply 

September 1977 

Build Your Own ASCII Keyboard with serial and 
parallel output 
DThe Ultimate Personal Computer 

□ Talk Your Computer's Language' 

□A PET For Every Home a look at the Commodore PET 
2001 

□ Kilobaud (Classroom No 4 PC boards and power sup- 
plies 

□Seals Electronics 

□ Try an 8080 Simulator 

□ Build a S20 EPROM Programmer lor the 5402 4K chip 

□ Faster MIKBUC Load Technique uses binary format 
□Decoding Device Control Codes uses a DART, naturally 

□ Tarbell Asynchronous Format 

□ Baseball in BASIC 

□ Using an Invisible PROM how to relocate monitor pro- 
grams 

□ Klmgon Capture Came 

□ Starting a Business' 

October 1977 

□ BASIC Timing Comparisons 

□ Learn and Earn BASIC and business programming 

□ Bargain Time' 

□ Hello' Today s Program Is understanding computer 
speech recognition 

□ Beware the Altair Bus 

□ Put Your Imsai on the Rack' 

□ 3D Computer Craphics 
□Memory Troubleshooting Techniques 

□ Understand Your Interrupts' real time clock appli- 
cations 

□ Kilobaud Klassroom No 5 hardware logical functions 

□ Digital Croup MAXI Basic 

□ Utilize ASCII Control Codes' 

□ Dedicated Controllers 

□ Try WORDMATH' 

□ Time for Timesharing' 

□ Build a Universal I/O Board for your Altair 

November 1977 

□ Everything about Assemblers' sure beats hand-coding 
□Your Image Counts' 

□ Lifetime Program 

□Consider a MITE Printer alternative to theASR-33 
DTired of Substituting Chips? 

□ Stretch Those Characters mods for the SWTP PR-40 
□Magnetic Bubble Memory 

□ Reliable Conversion Techniques 
□Salesmanship. Hardware and Coffee 

□ Hyper about Slow Load Times' KIM Hypertape is an 
alternative 

□ interested in Commercial Programming' 

□Kilobaud Klassroom No 6 voltage, current and power 
supplies 

□ Expand Your KIM' with Altair bus devices 
□Enhance Your Memory with home information retrieval 

□ Build the S35 Modem uses the MC14412 and a UAR T 

□ Another Look at Benchmark Program 
□Son of Submarine Came 

□ Payroll Program for small businessmen 

□ SC/MP Goes Baudot add an inexpensive TTY 



December 1977 



Part 1 instruction decoder and 



□ TVT Hardware Design 
scan 

□ Expand Your KIM' Part 2 getting to the nuts and bolts 

□ Payroll Program (Continued) cassette techniques 

□ The Business Market 
□ALL CAPS 

□ The "Learning Machine" math tutor program 

□ Kilobaud Klassroom No 7: transistors, diodes and op 
amps 

□Compleat Guide to Logic Diagrams 

□ Tiny BASIC 

□ The Twelve Days of Christmas 

□ Paper Tape It's Here to Stay a look at the OPSOA 

□ Tempus Fugit 
□Who Needs a Broker' 

□ Here s HUEY' super calculator for the 6502 



□Crash Landing' a real-time Lunar Lander game 

□ File Structures Simplified 

January 1978* 
February 1978 

UBiorhythms with Your KIM 

DVandenberg Data Products 16K Board Reviewed 

□ Inventory, Accounts and Reports 

D Small Business Software . . Part 1: accounts receivable 
DThe Music Man 
STAR WARS 

□ Hot-Rod Mods for Your SWTP System 

□ Tickled by Fickled ... a charting and diagramming aid 

□ Ready on the Firing Line? 

□ Expand Your RIM! . . . Part 3: bus control board and mem- 
ory 

□ Interfacing Tips 

□ Kilobaud Klassroom . . . No. 9: Counters and Registers 

□ Teaching Preschoolers Letter Discrimination 
JWhy Structured Programming? 

□ Source Listing the Hard Way 

UHow Good Is Tarbell's Floppy Interface? 

□ Manipulating ASCII Data 

□ Read any Good Books Lately? . . . a program to test read- 
ability 

□George Morrow's Versatile Front-Panel Board 
Deflection! ... a video game tor the quick and agile 

□ How Much Memory for a KIM? 

March 1978 

□ Build the "Simple Computer" ... a home-brew 8080 

□ Hardware Program Relocation, Part 2 
□State Capitals 

□Customized MIKBUG 
□TV Typewriter Update 

□ Foolproof Cassette Operation 

□ Number-Crunching Time 

□ Super Terminal! . interfacing the Burroughs 9350-2 
□Consumer Computer, Inc. 

J Programmed Instruction Made Easy: Tiny PILOT, Part 1 

□ Protect Your Memory Against Power Failure 
Backup Techniques . how fail-safe is your system? 

□ Small Business Software, Part 2 

□ Expand Your KIM! Part 4: a TTY substitute 

□ Faster Erase Times . . . build a quicker EPROM eraser 

□ I/O Programming for the Altair Disks 

□ The Axiom EX-BOO 

U Tiger Trouble! ... 7/ programmable-calculator safari 

□ Temperature Sensing 

□ A Different Approach to HI LO 

April 1978 

□ Kilobaud's Mystery Program 

□ Make Your Own PC Boards 

□ CP/M Primer 

□Space-Saver System . . . the Tl 59 and PC-100A 

□ How to Make Your SWTP System Happy 

□ The Coming Tragedy: Poorly Designed Small-Business 
Systems 

□ Useful Programs for Your 6800 
Memory Debugging 

□ 3-D Tic-Tac-Toe 

□ Programmed Instruction Made Easy: Tiny PILOT, Part 2 

□ Blue Is the Color . . . Solid State Music is the company 

□ Cash Register: A Practical Math Simulation 

□ Parsing Techniques for the 6800 

□ incredizing . . amazing, incredible game for 8080 sys- 
tems! 

□ Avoid Program Loading and Reloading 

□ Time-sharing for the Home System 

□ Displaying Hexadecimal 

□ Build a Touch-Response Display 

[ J Power-Down Mod for the TRS-80 

□ Finally: 8080 Meets the Fairchild Video Game 

□ Get a Watchdog. . . to monitor those real-time operations 

May 1978* 
June 1978 

□ Taming the I/O Selectric . . . Part 7. hardware interface 

□ Home-Brew Z-80 System . . . Part 7. front-panel construe- 
_ tion 

□ A Strategy for Healthy Living . computerized exer- 
cise/fitness program 

□ A Tour of the Faire, Part 1 

□ Tiny BASIC Shortcuts 

□ Baudot . . . er . . . Murray, Meet the H8 

□ 8080, Z-80 or 8085 

□ One Keyboard: Hex and ASCII 

□ Is the Malibu Model 160 the Printer for Your Business Sys- 
tem? 

□ The Great Computer Conspiracy 

* issues not available. 



i i Personal Computer Shows 

Cross-Country Balloon Trip 

Transfer Vectors vs Absolute Addressing 

Error Correcting Codes 
□ASCII to Baudot . . . er . . . Murray (the Hard Way) 

Bowling Scores for Dollars 

□ Machine Language for the TRS-80 Radio Shack's 
T-BUC 

[ Two Systems Sharing the Same Bus 
Computers in Classrooms: Teaching the Teachers 

July 1978* 
August 1978 

UDOCUFORM: A Word-Processing System for Everyone! 

Kilobaud Klassroom . . . No. 7 7. Data and Address Buses 

Software Debugging for Beginners 
UMits vs North Star 
[ ) Kansas City Standard at 1200 baud 
I J Swords and Sorcery! 
I I Two Hobbies: Model Railroading and Computing, Part 2 

□ Update: Lunar Lander 

I J The Do-lt-Yourself System Heaths H8 is a winner' 

I I KIM + Chess = Microchess 

[ lis There Intelligent Life in Your Computer Room? 

[ IFrom Base to Base . with your HP 25 

I FINANC: A Home/Small Business Financial Package 

I I Computer-Generated Signs 

□Copying Computer Cassettes 

□Something Extra With Radio Shack's BASIC 

□ The Amazing 1802 
□Who Needs a U ART? 

□Can't Find It? . . . an index tor your SWTP BASIC manual 



September 1978 

□(Con)text Editor 

I I At Last: A Client Timekeeping System 

LJTroubleshooters' Guide 

□ Metric-American Conversion Program 

□ The Heath/DEC Connection. . . Part 1: overview 

□ Home System Demo Program 
Do-It- All Expansion Board for KIM 

□ Tally Ho! ... fox and hounds game 

□ Baudot Interface Cookbook 

□ Error-Correcting Techniques 

□ KIM Organ 

□ Kilobaud Klassroom. . . No. 12: ROM and RAM mem- 
ories 

□ Motorola's Latest: The MC6802 
t TRS-80 Update: Level II BASIC 

i Super Cheap 2708 Programmer 

□ Something Extra in Mass Storage 
I From Big BASIC to Tiny BASIC 



Meca's Alpha-1 



October 1978 

□ Budget System KIM, keyboard, TV, TVT-6L and AKIM 

□ The Heath/DEC Connection . Part 2.H11 system periph- 
erals 

□ Depreciation Calculations 

□ Looping in Tiny BASIC 

Kilobaud Klassroom . . . No. 13: I/O Circuitry 

□ Let Your Computer Wear a Watch 
Randomness is Wonderful 

□ Dazzler and BASIC 

□ The Latest in Operating Systems for the 6800: FLEX 

□ Action on the Enterprise 

Will DEC and IBM Be the Final Winners? 

□ Little Bits 

View from the Far East 

□ Use That Parity Line! 
The Software Patchcord 

□ A Useful Address List Program 
LJ Ready for the Nuthouse? 



November 1978* 
December 1978* 
January 1979 



□ An Editor for 6800 BASIC Programs 

□ u-Panel for KIM 

□ Rolling Dice 

□ Pseudo Graphics 

□ The BCS and Its President 

□ Address List Editor 

□ Display Your PET! 

□ TRS-80 Tape Controller 

□ SHHH - People Are Sleeping 

□ Say It with a Banner 

□ Open House 

□ Cassette Interfacing 

□ PET Techniques Explained 

□ A Service Bureau for Hobbyists 

□ Little Bits 

□ Keeping Ma Bell Happy 



kidoaud microcomputing 

ARTICLES YOU MAY HAVE MISSED 



February 1979 



D Block-Structured Language for Microcomputers 

□ Kilobaud Klassroom. No 16 I/O IV 

□ Computerized Climate Control 
D Music, Maestro! 

D Madam Dupre's House of the Zodiac 

□ Disk Power! 

D Inventory Control with the TRS-80 

D Onward with the COSMAC Elf! 

□ Build a $50 TVT! 

D Percom's LFD400 Floppy Disk System 

□ DOTS 

□ The Apple Speaks — Softly 
D Super Mastermind 

D TRS-80 Level II Reference Manual Index 

D Care and Feeding of Cassette Tapes (Part 2) 

□ Text/Document Preparation Made Easy 

□ Simpler Interest 

□ Learn BASIC -with BASIC 

D Use Flowcharts to Communicate 

□ Joystick Interface for Your Altair 

□ Attack on the Pack! 

March 1979 

D Cheap Video for Your Heathkit H8 

D Analog and Digital Interfaces 

D The "El Cheapo ' E PROM Programmer 

□ Is Your Video Monitor Dangerous? 

D Thoughts on the SWTP Computer System 

□ PET User Port Cookbook 
D Chess Pawn 

□ Home Computer Exterior Ballistics 
D Heath H9 Page Erase 

D The SKIP II Microcomputer 

□ Ultra Banner 

□ Teletype's KSR-43 

□ The One Percent Forecasting Method 
D Too Many Variables? 

D Kilobaud Klassroom No 17 I/O V 

D The Electric Pencil 

D How to Talk to Your 8080 

□ Programming the 1802 

□ Keyboard Interrupt for the TRS-80 

□ The OSI Model 500 

□ Sleep Better with a Microcomputer 

□ Telpar Thermal Printer 

April 1979 

□ A Look at TRS-80 Peripherals 

□ Heath H8 Disk System 
D DOTS (Part 2) 

D Truly Random Numbers 

□ SWTP CT-1024 Mod 
D Who Sells Software? 

D How Important Is Proper Termination? 

□ How to Talk to Your 8080 (Part 2) 

□ Parallel Port to RS-232- Inexpensively 
D Free Speech Lessons for the TRS-80 
D Let's Go Flying 

D Floppy Disk System from Tarbell 

D The Wait State Explained 

D Depreciation Analysis 

□ Twin Cassettes for Your TRS-80 
D Bar-Graph Generator 

D Let's Have Some Order 

D Quicksort! 

□ Put Something Super in Your Life 
D Starship Attack 

□ Terminate Your Troubles 

D Testing PET Search Algorithms 

□ Two Diamonds 

□ How about a Printer? 

D A Look inside the TRS-80 



May 1979 



□ A Text Formatter in BASIC 
D KIMCTR 

D High-Speed Cassette Interface 

□ How to Talk to Your 8080 (Part 3) 

□ Data Base Management 

D Analog and Digital Interfaces (Part 2) 

D COSMAC Double Play 

D COSMAC Double Play (cont ) 

D From Microcomputer to Micro-Piano 

D A Game of Darts 

□ Prettyprinting with Microsoft BASIC 
D Kilobaud Klassroom No 18 

D MDOS 

D A TRS-80 Cross-Index 

□ Graphing with the TRS-80 

□ An All-in-One Interface 



D Thoughts on the SWTP Computer System (2) 

D New Life for Our Altair 

D TVBUC 

D Creative Tabulation 

D A Handle on Programming 

D Keepbook 

D Vector Graphing Techniques 

D Putting the 1802 on the S-100 Bus 

D A Personal Finance System (Part 1) 

D Building a New Horizon 

□ Microcomputers and TVI 

D Translating Between TTL and RS-232 Levels 

D Data Files for Processor Tech 5K BASIC 

D Little Bits 

D What's so Magic about the Sorcerer? 

D A Telephone Data Coupler for the TRS-80 

D The Cromemco Z-2D 

D Personal Computing Meet Photography 

D Peripheral Interfacing 

July 1979 

□ IC Logic Tester and Parallel I/O Expander 

□ Whip file Wipeouts in the TRS-80 

□ HUH Electronics' Model 8100 Motherboard 
D Data File Creation Program 

D Computer Careers in Carolina 

□ Personal Finance System (Part 2) 
D Sargon Meets TRS-80 

D Safe I/O Ports with a Bidirectional Buffer 

□ Projecting Future Profits 

□ Randomness Is More Than It Seems 
D OSI's Superboard II 

D Teach an old PET New Tricks 

□ A Circular Handle on Graphics 

□ 1802 PILOT 

D Red-Handed Credit Grabber 

D Troubleshooting Tips and Techniques 

□ Super Starter Kit from Technico 

D Thoughts on the SWTP Computer System 

□ CONOPS an H8 Monitor 

□ Getting the Most out of Your TRS-80 
D Reading Computer I argon 

D An Introduction to Microfilming 

D The 6502 and Its Little Brothers 

D Another Hexadecimal Keyboard 

August 1979 

□ Cover Up: PET Home-Decorating Program 
D Teleprinter Output for TRS-80 

□ Murphy's Laws and Other Observations 

□ Thoughts on the SWTP Computer System 
D MUSKBD Music Program for the 6800 

□ E-x-t-e-n-d Your Micro with the Mullen Extender Board 
D The BASIC BASIC Renumberer for H8 

□ Shavasan Meditation Program 
D Personal Finance System (Part 3) 
D Percom C 1-81 2 Mod 

□ Report: Financial Reports Program 

□ Haiku Composer Poetry on the TRS-80 

□ The Sorcerer Connection: Sorcerer to Teletype 
D Apple Ciphers: An Apple II Billing System 

D The PAIA 8700 

□ Don't Throw Away That Monitor — Yet! 

D Nerves: A Fast Game 

D Taking AIM with Rockwell International's AIM 65 

D How to Silence a Noisy Computer 

□ PET Wrap-up 

□ Machine-Language Monitors for TRS-80 

□ Visit to OSI 



September 1979 



June 1979 



□ "Monitor" 

D TRS-80/Selectnc Word Processor 



D A Look at Terminals 

□ Inventory Nine-operation Inventory Program 

□ Metric, English Equivalents Program 
D A Look at Core Memory in Micros 
D The MM57109 Number Cruncher 

□ Gas-Monitoring Program 
D The Fourth Faire 

□ Output for the SWTP Editor-Assembler 

□ Interfacing SOL with a Vista Disk 
D The Failure of a Micro in Business 
D Thoughts on the SWTP System 

D 2708 E PROM for the S-100 

D Review of Lear Siegler's ADM-3A 

□ Off-the-Shelf Word-Processing System 
D Catching Bugs with Lights 

D Make PET Hard Copy Easy 

□ Apple II High-Resolution Graphics 

□ Beat the Computer: Blackjack Strategy 
D Put Your PET on the Betsi Bus 

D Build Your Own TTL Diagnostic Aid 

D Using and Expanding the Heath ET-3400 

□ Another KIM-1 Expansion 
D Adult Caloric Requirements 
D TRS-80 Speed-up 



October 1979 

D Thoughts on the SWTP Computer System 

□ PAIA 8700 Revisited 

□ Inexpensive TRS-80 Printer Interface 

□ Eyes for the AC-30 

□ Expanded TRS-80 Disk Operations 
D Anatomy of a Scam 

D Business Software Made Easy 

D KIMCTR Measures Capacitance 

□ More TRS-80 Horsepower 

□ Probos V An Inexpensive Logic Probe 
D PET's Keyboard Crows Up 

□ Hurricane! Track Hurricanes with This Program 
D Video DMA Interface for SWTP Systems 

□ Ultimate Consumer Computer 

□ The Exatron Stringy Floppy 

□ Calendar Program 

□ Four More Commands for SSB DOS 

D Arena Go into Battle with Your Computer 

D File Directory Analysis for North Star DOS 

D Report on the Centronics 779 Printer 

□ Beefing Up PET 
D AMI'S EVK Series 

D Ulysses in Computerland 

D The Apple II Programmer's Aid ROM 

D Caps Lock. Not Shift Lock 

□ Hardware Random Number Generator 
D Bit Rate Clocks for Your Serial Interface 
D Exploring the Inequality of Bus Buffers 
D Speed Up Your Elf's Input-Output 

D Load Programs the SIMPL Way 

□ Pig Latin 

D Touch This Icebreaker Could be a Jawbreaker 

D Program Debugging 

L) Build an Inexpensive Logic Analyzer 

D Increasing the Bytesaver's Usefulness 

November 1979 

D Lowercase for Your Apple II (Part 1) 

D What's New in Memory? 

D Stringy Floppy Encore 

D The Electronic Librarian 

D Text Editing for the TRS-80 

D The Apple Goes to Market 

□ Let's Look at NEWDOS+ from Apparat 
D AMI'S EVK Series 

□ Thoughts on the SWTP Computer System 

□ Payroll Program for Business Systems 

□ Thinker Toys' Discus I Disk System 
D Expanded TRS-80 Disk Operations 

D An SSM/)ade Video Board for Less Than $120 

□ Wave the Flag 

D Real Property Profit Guide 

D The TRS-80 Dial-a-Phone 

□ Wari: A Challenging Game 

□ A-Mazing Maze-Generating Algorithm 

□ Sound for the Elf II 

D Sherlock Holmes and the Computer 

□ ASCII-to-Selectric Software Driver 
D Introduction to Tl's TMS-9900 

D Have a Ball with Bally 

□ The Output Buffer/Driver 
D Micropolis Disk Drives 

D Weight-Watching Special 

□ $10 PET-to-Centronics Interface 
D A BASIC Dollar Edit $ubroutine 

□ How to Build a Word Processor 

□ Wire-Wrap Pin Locating 

December 1979 

□ Ithaca Intersystems' DPS-1 

□ Electric Bill Watchdog 

□ Lowercase for Your Apple II (Part 2) 
DSimple Tracer for the 8080 
DChess I for Apple II 

□ "Sample" the Intersil/Harris 6100 

□ An Inexpensive and Easy EPROM Board 

□ Eschew Obfuscation 

□ Message Display in Assembly Language 

□ Implementing an Algorithm 
□$5 6800 Tape System 

□ AMI'S EVK Series 

□ How to Choose a Small-Business Computer 

□ Build a SISTER for Your 6800 

□ Review of the S.D. Sales Expandoram 

□ Peak Your TRS-80 Display 

□ Tiny Text Editor for the 1802 

□ The BASIC'S of Computer Art 

□ Reverse Video from OSI's 540 Board 

□ "Free" Computer Libraries 

□ PET's Machine Language Monitor 
□A Big Switch for the H17 

□Converting Selectric Keyboards to Correspondence 
Code 

□ Extending the Altair Bus 

□ H8 Alarm Clock Program 



TM990/189 University Board 



Is Texas Instruments' TM990/189 a microprocessor's microprocessor? 



John Caulfield KOFUZ 
2211 W. 119th Terrace 
Lea wood KS 66209 



I don't know how many other hobbyists 
wait as long as I do to really get into 
something, but my major contact with the 
microcomputer world has been to read 
about it and just be satisfied, in a vicarious 
sort of way, with the fascination of the 
microprocessor. I've always thought that 
one of these days there'll emerge a micro- 
processor's microprocessor that I'll really 
learn on, become a veritable genius at and 
live happily ever after. 



Texas Instruments' TM990/189 University 
Board comes closest to fitting my scenario. 
Time will tell if it emerges as a micro- 
processor's microprocessor, but you pay 
your money, you take your chances. Tl has 
provided an approach that, for me, does it 
all: alphanumeric keyboard, display, 
monitor, assembler, audio cassette capa- 
bility, EIA and TTY interface options, pro- 
grammable I/O controller, addressable 
LEDs, a squeaker speaker (piezoelectric 
disk), matching power supply and a ver- 
satile 16 bit CPU, the TMS 9980. 

One of its biggest drawing cards is 570 
pages of a self-paced tutorial text. My pre- 
vious reading about this sport has made me 
conscious of a checklist of features . . . Tl 
seems to have packaged about all my 




TM990/189 University Board. (Photos courtesy of Texas Instruments) 



novice mind and budget could imagine into 
its University Board. 

Let's look at the features of this 8 3/16 x 
11 inch (20.8 cm x 27.9 cm) printed circuit 
board, which is three-hole punched so you 
can slip it into a three-ring binder. 

The brains of the board is a TMS9980, the 
microprocessor. This is a software- 
compatible member of Tl's 9900 family of 
microprocessors. It is a single chip CPU 
that has an 8 bit data bus, on-chip clock and 
is a 40-pin device. Wait a minute, I can hear 
you saying, I thought this was a 16 bit CPU. 
Well, it is. 

The TMS9980 has an external 8 bit data 
bus, but internally it has a 16 bit data bus. 
There's an 8 bit latch right inside the 9980. 
Each 8 bit data chunk that enters the 9980 
via the external eight data bus pins is im- 
mediately paired up with the preceding 
eight bits. The combined 8 bit values form 
the 16 bit internal word. 

Monitor Program 

The EPROM resident monitor, called 
UNIBUG, enables you to communicate with 
the TMS9980. The monitor program pro- 
vides fifteen commands and seven 
subroutines. The UNIBUG commands are 
shown in Table 1. 

In addition to the monitor commands, 
there are seven utility subroutines that per- 
form I/O functions. These subroutines are 
called through the XOP (extended opera- 
tion) assembly-language instruction. Table 
2 shows these user-accessible utilities. 

The monitor program has a roommate in- 
side the 4K PROM, a two character sym- 
bolic assembler. After entry of the A com- 
mand from the keyboard, the monitor 
passes program control to the resident 
symbolic assembler. The assembler pro- 
gram interprets assembly-language source 
statements into object code. This saves you 
the laborious, and often error-prone, task of 
looking up hexadecimal op codes for any 



70 Microcomputing January 1980 



Input 


Results 


A 


Assembler Execute 


B 


Assembler Execute with current symbol table 


C 


CRU Inspect/Change 


D 


Dump memory to cassette 


E 


Execute to breakpoint 


F 


Status Register Inspect/Change 


J 


Jump to EPROM 


L 


Load memory trom cassette 


M 


Memory Inspect/Change 


P 


Program Counter Inspect/Change 


R 


Workspace register Inspect/Change 


S 


Single Step 


T 


"Typewriter" program 


W 


Workspace pointer Inspect/Change 


Ret 


New Line request 




Table 1. UNIBUG commands. 



one of the 69 instructions of the TMS9980, 
plus formatting them for various address- 
ing modes. The resident assembler will 
save those of us in the microcomputer 
novitiate anywhere from two to three light- 
years of time and a like amount of de- 
bugging frustration. 

Just like the "big ole computers," the 
University Board assembler has several ver- 
satile assembler directives (see Table 3). 

Also, labels and comments can be used. 
Labels may consist of one or two 
characters— the first character must be 
alphabetic; the second character may be 
alphanumeric. Comments can be part of the 
source statement and may include any 
printable character. 

Keyboard 

So how do I, the lowly human, talk to this 
fantastic monitor, symbolic assembler and 
CPU? Simple, through the integral key- 
board. Any breathing electronics jock 
knows that Tl is in the calculator business. 
Well, they very niftily took one of their 
45-key keyboards and a ten digit seven-seg- 
ment display and interfaced it to the Univer- 
sity Board. The 45 keys operate in both a 
shifted and unshifted mode. The keys are 
shifted when you depress the SHIFT key; in 
this mode, a shift LED is illuminated. 

The keyboard display consists of ten 
seven-segment LEDs. All of the letters of 
the alphabet, numbers 0-9 and punctua- 
tions ."#.;:,?! + -()@/>%A #, $ = < are 
available. How can all this be done with 
seven segments? 

Tl uses a stylized font— which means 
that some of the letters and punctuations 
will look rather strange at first (see Example 
1, which demonstrates a v, K and M). You 
may grow to prefer some of the stylized let- 
ters and adapt them to your everyday life. In 
fact, it will help keep your hobby just 
esoteric enough so you can still "amaze 
your friends." 

Although the display is ten digits, it is 
capable of displaying any nine contiguous 




TM990/519 power supply. 



characters of a maximum 64 character line. 
The "shift display left" and "shift display 
right" keys rotate the display six characters 
at a time in a ring buffer to enable viewing 
the 64 character line. 

If you are an advanced enthusiast and 
have an EIA or TTY terminal, you can 
populate the EIA or TTY options on the 
TM990/189. The printed circuit board is 
predrilled and etched for the few needed 
parts, and the User's Guide details their in- 
stallations. 



TMS 9980A MICROPROCESSOR 



PROM 



SHOWS UP AS b! 



K SHOWS UP AS 



M SHOWS UP AS n 
Example 1. 

Memory 

Every microcomputer system, by defini- 
tion, has memory. The TM990/189 comes 



PIEZOELECTRIC DISC 



EIA INTERFACE 



EXTERNAL 

MEMORY 

INTERFACE 



RAM's 



I/O INTERFACE 




POWER SUPPLY 
CONNECTION 



KEYPAD 



TMS 990I 
PARALLEL I/O 
CONTROLLER 



TMS 990I 

PARALLEL 

I/O CONTROLLER 



ADDRESSABLE LED* 



LOAD SWITCH 



-SHIFT KEY LED 



Schematic depiction of power supply. 



Microcomputing January 1980 71 




TM990/189 User's Guide. 



with 1K bytes of RAM expandable on-board 
to 2K, and 4K bytes of PROM expandable 
on-board to 6K. The 4K PROM contains the 
UNIBUG Monitor and Symbolic Assembler. 
The user can add either a1Kx8or2Kx8 
EPROM in the expansion EPROM socket 
provided. 

For memory expansion beyond what is 
on the board, all key address and data lines 
are brought to a 40-pin connector where ad- 
ditional memory may be interfaced. Tl pro- 
vides a bus expansion interface on the 
printed circuit board, which you populate to 
interface to off-board memory. This option 
will enable you to utilize the total memory 
address capability of the TM9980 CPU, 16K 
bytes. 

The University Board may be interfaced 
to an audio cassette for mass program 
storage. The User's Guide gives the connec- 
tion details and parts required. To accom- 
plish this, again, the printed circuit board 
has the etches, but the user supplies the 
parts— a relay and a transient protection 
diode. 

Ever since I first started reading about 
microprocessors, I've wondered about I/O, 
or, how can I get this circuit to actually do 
something? The University Board has two 
main vehicles to the outside workaday 
world. First, there is memory-mapped I/O 
that treats I/O as a memory location. 
Almost all microcomputer systems have 



XOP# Function 

8 Write one hexadecimal character to the 
terminal 

9 Read hexadecimal word from the terminal 

10 Write four hex characters to the terminal 

1 1 Echo character 

12 Write one character to the terminal 

13 Read one character from the terminal 

14 Write a message to the terminal 

Table 2. Utility subroutines. 



this capability; the TMS9980 CPU is no 
exception. 

CRU Interface 

The second I/O vehicle is the com- 
munications register unit, or CRU. The CRU 
is a definite distinguishing factor of Tl's 
TMS9900 family. It provides for a serial 
transfer of one or more bits in or out of the 
CPU via two dedicated pins on the 
9980— CRUIN and CRUOUT. A clock, 
CRUCLK, is used as a time strobe to coor- 
dinate data transfers. Use of the CRU does 
not subtract from any available memory 
locations, and it is separate from the data 
bus. 

The major advantage of the CRU is "bit 
diddling." A single bit (or multiple bits up to 
16) may be changed in the CRU output 
scheme. A single bit is all that is necessary 
to monitor or change the status of a motor, 
relay, switch, etc., i.e., the outside world. 

There are five instructions that program 
the CRU interface: 

LDCR— Enables the user to load from 
memory a pattern of 1 to 16 bits and serially 
transmit this pattern through the CRUOUT 
pin. 

STCR— Enables the user to store into 
memory a pattern of 1 to 16 bits obtained 
serially at the CRUIN pin. 
SBO— Sends a "logical one" through the 
CRUOUT pin. 

SBZ— Sends a "logical zero" through the 
CRUOUT pin. 

TB— Tests the value at the CRUIN pin and 
reflects the test results in the equal bit of 
the Status Register. 

The last three instructions, SBO, SBZ and 
TB, are the real aids to the control applica- 
tions. They enable you to turn on and off 
loads as well as check their status. The 
CRU becomes a fascinating concept 
beyond the typical memory-mapped I/O sys- 
tems. 

Power Requirements 

The nominal power requirement with the 
on-board memory options fully populated is 
+ 5V@700mA, + 12 V @100 mAand -12 
V @16 mA. Luckily for me, Tl supplies a 
matching fossil-fuel-fired power plant, the 
TM990/519, to supply the required "juice." If 
you start adding off-board options, you'll 



Inputs 


Functions 


AORG 


Absolute origin of the statement 


BSS 


Block of memory reserved with starting 




symbol 


DATA 


Sixteen bits of immediate value 


END 


End of program, exit to monitor, load 




program counter 


EQU 


Symbol equated to value in operand 


TEXT 


String of ASCII coded characters 



soon run out of power supply. So keep your 
power budget in mind with respect to the 
TM990/519's capabilities. 

Documentation 

A major ingredient of the TM990/189 
University Board package is the tutorial 
text, entitled Introduction to Micropro- 
cessors — Hardware and Software. This 500 
plus page document stepped me through 
every inch of the system. It makes liberal 
use of illustrations, understandable and 
practical examples, and it is directly keyed 
to the TM990/189 for immediate hands-on 
reinforcement. (I especially enjoyed the il- 
lustration that built up to a Morse code 
translator. With a little bit of tweaking I'll be 
able to use it with my ham radio!) 

The text is simple enough for the relative 
novice to use, but the book's authors 
(George Goode and Associates, Dallas, 
Texas) point out that the book can also be 
used as the central text in an introductory 
three-hour college course on microcom- 
puter systems. The chapter titles are: 

1. Overview of Computers, Microprocessors 
and Microcomputers 

2. Arithmetic, Logic and the ALU 

3. Introduction to Computer Addressing 
and Program Development 

4. Assembly Language 

5. Memory Systems 

6. Input/Output Concepts 

7. Input/Output Design 

8. Modular Programming 

9. Software Engineering 

10. Product Development 

In addition to the tutorial text, Tl supplies 
a well-written 150 page user's guide. The 
documentation is of professional quality 
and highly readable. 

The assembled board (no kits), tutorial 
text and User's Guide is $299. The tutorial 
text alone is $19.95; User's Guide, $5.95; 
TM990/519 power supply, $65. ■ 




Table 3. Symbolic assembler. 



TM990/189 tutorial text. 



72 Microcomputing January 1980 




With these disks, I can turn your 
TRS-80 into a serious computer. 



I'm Irwin Taranto, and I've put the first com- 
puter into more than 300 different businesses. 

It's taught me that the TRS-80 is an 
elegant piece of hardware despite its low 
price. Given the right programs, it can jump 
through hoops. 

Put simply, I have the right programs. Four 
of them are the genuine Osborne & Associates 
systems, originally designed for the $30,000 
Wang computer. I've made a few minor modifi- 



THE OSBORNE PROGRAMS 

Accounts Payable: invoice-linked, it reports, 

does checks and links to general ledger. 

Accounts Receivable: invoice-linked, it tracks 

invoices and aging, prints statement and links 

to general ledger. 

General Ledger: handles 1750 transactions each 

on 200 different accounts. Cash journal option 

available. 

Payroll: figures the pay, does the checks and all 

the bookkeeping. 

AND MY OWN PROGRAMS 

Inventory Control: gives immediate readout on 
any inquiry. It has many existing versions or can 
be individually tailored. 

NEW! Invoicing: linked to accounts receivable. 
Prints invoices and feeds data into receivables. 



cations, and they now work on a $4000 TRS-80. 
The other two programs I added myself. 

These programs are fully- documented, 
and you can buy the books locally or from me. 
I made them work on the TRS-80, and if you buy 
them from me, I'll make them work for you. 

If you're not sure about that, call the 
number below and get the names of some of 
the people who've bought all over the world. 
Then ask them. 

These programs cost $99.95 each. (The 
Cash Journal option on the General Ledger 
adds another $50.) That gets you the disk, all 
the instructions you need and my phone num- 
ber. If you call, we answer all your questions. 
If your question's tough enough, I'll talk to 
you personally. 

Because I plan to turn that TRS-80 of yours 
into a serious computer. 

Taranto 

& ASSOCIATES 
P.O. Box 6073. 4136 Redwood Highway, San Rafael CA 
94903 • (415) 472-1415. Add $3 per order for handling. 
6% sales tax in California only. If you don't already 
have the books, add $15 each (invoicing book. $10). 
Mastercharge. Visa OK. 



^T57 



& . Jb 









ssJfr. 



pv j? ^ ^ ••* 



*<&£ 



JVfm 



&j 



$? *> 



J^ VP ,<^ «S* & 



;^ 



t>° * 



y*^" 



Are you getting 

this service on 

your check format? 

Send us a copy of 

the check your system 

uses, and we will be 

happy to consider adding 

it to our stock line. 



Checks 
To-Go 



^C172 



P.O. Box 148, Spring Valley, California 92077 (714) 460-4975 




You'll save money, 
have fun, and learn 
by building it yourself 
— with easy-to-assemble 
Heathkit Computers. 

See all the newest in 
home computers, video 
terminals, floppy disk 
systems, printers and 
innovative software. 

Send today 
for your 



Heathkit 

Catalog 




If coupon is missing, write 
Heath Co., Dept. 351 -61 2, 
Benton Harbor, Ml 49022 ' 9 



Send to: Heath Co., Dept. 351-612, 
Benton Harbor, Ml 49022. 

Send my free Heathkit Catalog now. 
I am not currently receiving your 
catalog. 



Name 



Address 



City 



CL-728 



State 
Zip- 



t^ Reader Service— see page 227 



Microcomputing January 1980 73 



A Not-So-Fast Renumberer 

for OSI BASIC 



Written in BASIC, this utility makes your listings neat and tidy. 



John W. Aug hey 
27384 Lamplighter Lane 
Elkhart IN 46514 

This article describes a 
routine that will renumber 
BASIC programs for the Ohio 
Scientific BASIC-in-ROM com- 
puters. The program itself is 
written in BASIC and was 
designed on and for my per- 
sonal machine, a Challenger 
C2-4P. However, it has also been 
tested and found to work with- 
out modification on the Chal- 
lenger C1-P and C2-8P ma- 
chines. Hence, any OSI com- 
puter with BASIC-in-ROM can 
make use of this renumbering 
routine. I would like to thank Phil 
Thornton of Elkhart Computer 
for providing a Challenger C1-P 
on which to test the program. 

I decided to design this pro- 
gram and write this article for 
three major reasons. First, I 
have been the proud owner of 
my C2-4P for a number of 
months now and, as a result, 
have written a sizable library of 
BASIC programs that I would 
like to tidy up and expand. 
Second, I hope to make a few 
bucks from publishing this arti- 
cle so I can buy more hardware 
to write more programs that will 
need to be renumbered. And 
finally, in a February 1979 letter 
to the editor (p. 20), E. Morris of 
Midland, Michigan, said he 
would not renew his subscrip- 
tion unless there was an article 
oreinted toward us Ohio Scien- 
tific users in the next eleven 
months. I'm always glad to keep 
a fellow OSI user happy. 

After having used their 
machines for a reasonable 
period of time, most OSI users 
would agree that one significant 
feature absent from the OSI ver- 



sion of Microsoft BASIC-in-ROM 
is the ability to renumber an ex- 
isting program. This is a short- 
coming that, until recently, I had 
managed to circumvent manual- 
ly by writing programs with large 
gaps in the statement numbers 
and renumbering manually from 
printed listings when the source 
got too shabby to share with 
fellow programmers. However, 
my professionalism (I program 
operating system software for 
an Amdahl 4707V5 to support my 
hobby and family) got to me 
recently, and I finally decided 
that if I can renumber by hand, 
then I should certainly be able to 
tell the 6502 how to do it by 

itself. 

In the process of collecting 
ideas for an OSI renumber 
routine, I read a number of ar- 
ticles by others who have writ- 
ten renumber routines for other 
systems— some in machine 
code and others in BASIC, some 
for 6502 machines and some 
not. The common foundation for 
all of these routines is a 
knowledge of how the BASIC in- 
terpreter stores the user's pro- 
gram in memory for execution, 
and I knew this was the key to 
designing a renumber routine 
for OSI's version of BASIC. 

OSI's BASIC-in-ROM stores a 
user's source program starting 
at decimal location 769 in RAM. 
Each statement is composed of 
a four-byte header, followed by 
the compressed statement and 
terminated with a single byte of 
zeros. The four-byte header 
contains two 2-byte data words. 
The first word is the address of 
the next sequential statement, 
or zeros if this is the last state- 
ment in the program. The 
second word contains the state- 
ment number in binary format. 



Routine Design 

My first attempt at writing a 
renumber program was de- 
signed to renumber only the 
statements themselves, with no 
consideration of renumbering 
GOTOs, GOSUBs, THENs or 
RUNs embedded in the text of 
the statements. This was a 
relatively simple task that in- 
volved chaining from one state- 
ment to the next and inserting 
the new binary statement 
number into the second data 
word in the header I mentioned 
before. 

The crux of this simple- 
minded renumberer is con- 
tained in lines 32000-32010 of 
the final version (see the listing). 
This first attempt at renum- 
bering proved quite useful, but it 
was still a nuisance to have to 
go back and manually renumber 
the GOTOs, etc. 

The tricky part comes when 
you go back and attempt to 
renumber the internals of the 
statements. As others who have 
written renumber routines have 
found, there is an inconsistency 
in the way statement numbers 
are stored. The numbers on the 
statements themselves are in 
binary form, but the statement 
number references in GOTOs, 
etc., are in ASCII. 

Fortunately, the OSI BASIC 
has the very useful STR$ and 
ASC functions to aid in the con- 
version process from binary to 
ASCII. Luckily, the conversion in 
the other direction— from ASCII 
to binary— is not too difficult to 
perform in BASIC without sup- 
port functions. 

The OSI BASIC, as do most 
others, uses "tokens" to allow 
the compression of the BASIC 
source into a smaller package in 



memory. The tokens are simply 
single-byte flags with values in 
the range of decimal 128-255, 
beyond the range of valid ASCII 
codes, which are used to take 
the place of the BASIC com- 
mand verbs. 

Whenever the BASIC scanner 
finds a string of characters it 
recognizes as a keyword, such 
as GOTO, it replaces that 
character string with the single- 
byte token that corresponds to 
that keyword. The renumber 
routine must thus scan for the 
tokens requiring renumbering 
and alter the statement num- 
bers that follow them. In the OSI 
version of Microsoft BASIC, the 
tokens we need to look for are 
decimal 136 (GOTO), 137 (RUN), 
140 (GOSUB) and 160 (THEN). 

The renumber routine is 
organized into two parts. The 
first part is the "simpleminded" 
renumberer I described earlier, 
with one additional function. 
While it is inserting the new 
statement numbers, it also must 
save the old statement numbers 
in a chunk of RAM so the second 
pass will know how to renumber 
the internals of the statements. 
In OSI systems with video 
boards, one of the most conve- 
nient chunks of RAM is the 
video display memory, which 
begins at 53248 decimal. Each 
statement number saved uses 
two bytes, and two bytes are re- 
quired for an end-of-table flag. 
Hence in the C1-P machines 
with 1024 bytes of video RAM, 
you can renumber a program 
with as many as 51 1 statements. 
In the C2-4P you can handle 
1023 statements with its 2K of 
video RAM. 

The second part of the 
renumberer goes back and 
looks at the text in the state- 



74 Microcomputing January 1980 



TRS-80 MODEL II FORMAT NOW AVAILABLE 



/: 



DIGITAL RESEARCH m.™.. a*™ 

D CP/M* FLOPPY DISKETTE OPERATING SYS- 

(g) TEM — Packages supplied on diskette complete with 
8080 assembler, text-editor, 8080 debugger and various 
utilities plus full documentation. CP/M available con- 
figured for most popular computer/disk systems includ- 
ing: North Star Single. Double or Quad density, Altair 8" 
disks, Helios II, Exidy Sorcerer, Vector MZ. Heath H17f 
orH89t, TRS-80t. iCOM 3712 and iCOM Micro Disk 
plus many other configurations available off the shelf . 

$148/125 

CP/M version 2 (not all formats available immediately) 
$170/328 

D MAC — 8080 Macro Assembler. Full Intel macro defini- 
tions Pseudo Ops include RPC, IRP, REPT, TITLE, 
PAGE, and MACLIB. Z-80 library included Produces 
Intel absolute hex output plus symbols file for use by SID 
(see belpw) $10O/$1S 

□ SID — 8080 symbolic debugger Full trace, pass count 
and break-point program testing system with back-trace 
and histogram utilities. When used with MAC, provides 
full symbolic display of memory labels and equated val- 
ues i ■ $38731 8 

□ TEX — Text formatter to create paginated, page-num- 
bered and justified copy from source text files, directable 
to disk or printer $$8/$1 8 

□ DESPOOL — Program to permit simultaneous pnnting 
of data from disk while user executes another program 
from the console 880/88 



MICROSOFT 

BASIC-80 — Disk Extended BASIC, ANSI compatible 
with long variable names, WHILE/WEND, chainina vari- 
able length file records 3300/328 

BASIC COMPILER — Language compatible with 
BASIC-80 and 3-10 times faster execution. Produces 
standard Microsoft relocatable binary output. Includes 
Macrc-80 Also linkable to FORTRAN-80 or COBOL-80 

code modules $3S0/$2S 

□ FORTRAN-80 — ANSI 66 (except for COMPLEX) 

rt) plus many extensions. Includes relocatable object com- 

(B) plier, linking loader, library with manager. Also includes 

MACRO-80 (see below) 



D 

© 

<g> 

□ 
© 
<8> 



$400 $25 



I COBOL-80 — ANSI 74 Relocatable object output. 

ft) Format same as FORTRAN-80 and MACRO-80 mod- 

<B) ules Complete ISAM, interactive ACCEPT/DISPLAY, 

COPY, EXTEND 



□ 
© 
<g> 

D 

© 



□ 
© 



D 
© 



3828/828 

MACRO-80 — 8080/Z80 Macro Assembler Intel and 
Zilog mnemonics supported Relocatable linkable output. 
Loader, Library Manager and Cross Reference List 

utilities included 3148/318 

EDIT-80 — Very fast random access text editor for text 
with or without line numbers. Global and intra-lme com- 
mands supported. File compare utility included $89/$ 15 

MICRO FOCUS 

STANDARD CIS COBOL - ANSI 74 COBOL 
standard compiler fully validated by U.S. Navy tests to 
ANSI level 1 . Supports many features to level 2 including 
dynamic loading of COBOL modules and a full ISAM file 
facility Also, program segmentation, interactive debug 
and powerful interactive extensions to support protected 
and unprotected CRT screen formatting from COBOL 
programs used with any dumb terminal $880/880 

FORMS 2 — CRT screen editor Automatically creates 
a query and update program of indexed files using CRT 
protected ana unprotected screen formats. Output is 
COBOL data descriptions for copying into CIS COBOL 
programs. No programming experience needed. Output 
program directly compiled by CIS COBOL (standard) 



□ 
© 



D 
© 



EIDOS SYSTEMS 

KISS — Keyed Index Sequential Search. Offers com- 
plete Multi- Keyed Index Sequential and Direct Access file 
management. Includes built-in utility functions for 16 or 
32 bit arithmetic, string/integer conversion and string 
compare Delivered as a relocatable linkable module in 
Microsoft format for use with FORTRAN-80 or COBOL- 
80, etc $838/823 

KBASIC — Microsoft Disk Extended BASIC with all 
KISS facilities, integrated by implementation of nine 
additional commands in language Package includes 
KISS.REL as described above, and a sample mail list 
program $898/$4S 



□ 
© 



□ 

© 

□ 
© 



MICROPRO 

SUPER-SORT I — Sort, merge, extract utility as abso- 
lute executable program or linkable module in Microsoft 
format. Sorts fixed or variable records with data in binary, 
BCD, Packed Decimal, EBCDIC, ASCII, floating, fixed 
point, exponential, field justified, etc. etc. Even variable 
number of fields per record! 3228/828 

SUPER-SORT II — Above available as absolute pro- 
gram only $178/$2S 

SUPER-SORT III - As II without SELECT/EXCLUDE 
8128/828 



/' 



Msmuo* ' Mono 

□ WORD-STAR — Menu driven visual word processing 
© system for use with standard terminals. Text formatting 

performed on screen. Facilities for text paginate, page 
number, justify, center and underscore. User can print 
one document while simultaneously editing a second. 
Edit facilities include global search and replace, read/ 
write to other text files, block move, etc. Requires CRT 
terminal with addressable cursor positioning $448/828 

D WORD-MASTER Text Editor — In one mode has 

© superset of CP/M's ED commands including global 

searching and replacing, forward and backwards in file In 

video mode, provides full screen editor for users with 

serial addressable-cursor termin al 3128/328 

SOFTWARE SYSTEMS 

□ CBASIC-2 Disk Extended BASIC — Non-interactive 
<8> BASIC with pseudo-code compiler and runtime interpre- 
ter. Supports full file control, chaining, integer and ex- 
tended precision variables, etc 3103/318 



□ 



□ 



□ 



□ 



□ 



STRUCTURED SYSTEMS GROUP 

GENERAL LEDGER — Interactive and flexible sys- 
tem providing proof and report outputs. Customization of 
COA created interactively. Multiple branch accounting 
centers. Extensive checking performed at data entry for 
proof, COA correctness, etc. Journal entries may be 
batched prior to posting. Closing procedure automatically 
backs up input files. AIT reports can be tailored as neces- 
sary. Requires CBASIC 3833/328 

ACCOUNTS RECEIVABLE — Open item system 
with output for internal aged reports and customer-ori- 
ented statement and billing purposes. On-Line Enquiry 
permits information for Customer Service and Credit de- 
partments. Interface to General Ledger provided if both 
systems used. Requires CBASIC 3833/328 

ACCOUNTS PAYABLE — Provides aged state- 
ments of accounts by vendor with check writing for 
selected invoices. Can be used alone or with General 
Ledger and/or with NAD. Requires CBASIC 3833/328 

LETTERIGHT — Program to create, edit and type let- 
ters or other documents. Has facilities to enter, display, 
delete and move text, with good video screen presenta- 
tion. Designed to integrate with NAD for form letter mail- 
ings. Requires CBASIC 31 78/328 

NAD Name and Address selection system — interactive 
mail list creation and maintenance program with output 
as full reports with reference data or restricted informa- 
tion for mail labels. Transfer system for extraction and 
transfer of selected records to create new files. Requires 
CBASIC 378/320 

QSORT — Fast sort/merge program for files with fixed 
record length, vanable field length information. Up to five 
ascending or descending keys. Full back-up of input files 
created 3$8/320 

GRAHAM-DORIAN SOFTWARE 

SYSTEMS 

PAYROLL SYSTEM — Maintains employee master 
file. Computes payroll withholding for FICA, Federal and 
State taxes. Prints payroll register, checks, quarterly re- 
ports and W-2 forms. Can generate ad hoc reports and 
employee form letters with mail labels. Requires 
CBASIC Supplied in source code 3830/338 

APARTMENT MANAGEMENT SYSTEM - F. 

nancial management system for receipts and security 
deposits of apartment projects. Captures data on vacan- 
cies, revenues, etc. for annual trend analysis. Daily report 
shows late rents, vacancy notices, vacancies, income 
lost through vacancies, etc. Requires CBASIC. Supplied 
in source code 3830/338 

INVENTORY SYSTEM — Captures stock levels, 
costs, sources, sales, ages, turnover, markup, etc. 
Transaction information may be entered for reporting by 
salesman, type of sale, date of sale, etc. Reports avail- 
able both for accounting and decision making. Requires 
CBASIC. Supplied in source code 8830/338 

D CASH REGISTER — Maintains files on daily sales. 

© Files data by sales person and item. Tracks sales, over- 

<g> rings, refunds, payouts and total net deposits. Requires 

CBASIC. Supplied in source code 8530/338 



□ 



□ 
© 

<9 



□ 
© 

M 



□ 

© 

<8> 



D 



□ 

<8> 



D 
© 



□ 

© 



tiny C — Interactive interpretive system for teaching 
structured programming techniques. Manual includes full 
source listings 87S/340 

BDS C COMPILER — Supports most major features 
of language, including Structures, Arrays, Pointers, 
recursive function evaluation, linkable with library to 8080 
binary output Lacks data initialization, long & float type 
and static & register class specifiers. Documentation in- 
cludes "C" Programming Language book by Kernighan & 
Ritchie .... 3110/318 

WHITESMITHS' C COMPILER — The ultimate in 
systems software tools. Produces faster code than Pas- 
cal with more extensive facilities Conforms to the full 
UNIX*" Version 7 C language, described by Kernighan 
and Ritchie, and makes available over 75 functions for 
performing I/O, string manipulation and storage alloca- 
tion Compiler output in A-Natural source. Supplied with 
A-Natural (see below) requires 60K CP/M . $630 $30 

A-NATURAL — Narrative assembler with linking load- 
er, librarian, extensive 8080 subroutine library in A- 
Natural relocatable format and translators from A-Natural 
source to Microsoft MACRO-80 source and from A- 
Natural rel to source $330/318 



Software for most popular 8080/Z80 computer disk systems including 



and 



formats. 

™Trte Software Supermarket is a trademark ot Lifeboat Associates 



Manual/ Alan* 

□ POLYVUE/80 — Full screen editor for any CRT with 
<8> XY cursor positioning Includes vertical and honzontal 

scrolling, interactive search and replace, automatic text 
wrap around for word processing, operations for manipu- 
lating blocks of text, and comprehensive 70 page manual 
Tr. §138/318 

□ POLYTEXT/80 — Text formatter for word processing 
® applications Justifies and paginates source text files. Will 

generate form letters with custom fields and conditional 

processing Support for Daisey Wheel pnnters includes 

variable pitch justification and motion optimization. 

888/818 

□ ALGOL-60 — Powerful block-structured language 
<8> compiler featunng economical run time dynamic alloca- 
tion of memory Very compact (24K total RAM) system 
implementing almost all Algol 60 report features plus 
many powerful extensions including string handling direct 
disk address I/O etc Requires Z80 CPU 8133/820 

□ Z80 DEVELOPMENT PACKAGE - Consists of 
® (1 ) disk file line editor, with global inter and intra-lme facili- 
ties, (2) Z80 relocating assembler. Zilog/Mostek mne- 
monics, conditional assembly and cross reference table 
capabilities; (3) linking loader producing absolute Intel 
hex disk file 338/820 

O ZDT — Z80 Debugger to trace, break and examine reg- 
® isters with standard Zilog/Mostek mnemonic disassem- 
bly displays $35 when ordered with Z80 Development 
Package 3SO/310 

D DISTEL — Disk based disassembler to Intel 8080 or 
TDL/Xitan Z80 source code, listing and cross reference 
files Intel or TDL'Xitan pseudo ops optional Runs on 
8080 388/310 

□ DISILOG — As DISTEL to Zitog Mostek mnemonic 
® files. Runs on Z80 only 388/810 

D TEXTWRITER III — Text formatter to justify and pagi- 
<8> nate letters and other documents Special features in- 
clude insertion of text during execution from other disk 
files or console, permitting recipe documents to be 
created from linked fragments on other files. Has facilities 
for sorted index, table of contents and footnote insertions 
Ideal for contracts, manuals, etc 8128/820 

D POSTMASTER — A comprehensive package for mail 
® list maintenance. Features include keyed record extrac- 
tion and label production A form letter program is in- 
cluded which provides neat letters on single sheet or con- 
tinuous forms. Requires CBASIC 8180/828 

□ WHATSIT?**** Interactive data-base system using 
associative tags to retneve information by subject. Hash- 
ing and random access used for fast response Requires 
CBASIC 3128/828 

□ XYBASIC Interactive Process Control BASIC — Full 
disk BASIC features plus unique commands to handle 
bytes, rotate and shift, and to test and set bits Available 
in Integer, Extended and ROMable versions 

Integer Disk or Integer ROMable 8238/828 

Extended Disk or Extended ROMable 8388/828 

□ SMAL/80 Structured Macro Assembled Language — 
Package of powerful general purpose text macro proc- 
essor and SMAL structured language compiler SMAL is 
an assembler language with IF-THEN-ELSE, LOOP- 
REPEAT-WHILE. DO-END, BEGIN-END constructs 

878/818 

D SELECTOR III-C2 — Data Base Processor to create 
(§> and maintain multi Key data bases. Prints formatted, 
sorted reports with numerical summaries or mailing 
labels Comes with sample applications including Sales 
Activity, Inventory, Payables. Receivables, Check Regis- 
ter, and Client/Patient Appointments, etc. Requires 
CBASIC Version 2. Supplied in source code. 834S/820 

G CPM/374X — Has full range of functions to create or 
re-name an IBM 3741 volume, display directory infor- 
mation and edit the data set contents Provides full file 
transfer facilities between 3741 volume data sets and 
CP/M files 3188/310 

D BASIC UTILITY DISK - Consists of (1) CRUNCH- 
'S) 14 - Compacting utility to reduce the size and increase 
the speed of programs in Microsoft Basic and TRS-80 
Basic (2) DPFUN - Double precision subroutines for 
computing nineteen transcendental functions including 
square root, natural log, log base 10, sin, arc sin, hyper- 
bolic sin, hyperbolic arc sin, etc Furnished in source on 
diskette and documentation 880/838 

□ THE STRING BIT — Fortran character string harv 
<8» dlmg Routines to find, fill. pack. move, separate, con- 
catenate and compare character strings. This package 
completely eliminates the problems associated with 
character string handling in FORTRAN Supplied with 
source 348/31 5 

BSTAM — Utility to link one computer to another also 
equipped with BSTAM. Allows file transfers at full data 
speed (no conversion to hex), with CRC block control 
check for very reliable error detection and automatic re- 
try We use it! It's great! Full wildcard expansions to 
send '.ASM, etc 9600 baud with wire, 300 baud with 
phone connection. Both ends need one. Standard and M 
versions can talk to one another 81 80/88 

D Flippy Disk Kit — Template and instructions to modify 
single sided Sv*" diskettes for use of second side in sin- 
gled sided dnves 31 2.80 

*CP M is a trademark of Digital Research 
"Z80 is a trademark of Zilog Inc 
•"UNIX is a trademark of Bell Laboratories 
— WHATSIT? is a trademark of Computer Headware 

P/M tor Heath TRS-80 Model I and PolyMorphic 8813 are 
modified and must use specially compiled versions of system 
and applications software 
® Modified version available for use with CP'M as implemented 
on Heath and TRS-80 Model l computors 

©User license agreement lor this product must be signed and 
returned to Lifeboat Associates before shipment may be made 



Orders must specify disk 
systems and formats 
eg North Star smgle 
douDle or quad density 
IBM single or 2D256 
Altair Helios II, 
Micropolis Mod I or II 
5V** soft sector (Micro 
iCOM SD Systems 
Dynabyte) etc 

Prices FOB New York 
Shipping, handling and 
COD charges extra 

Manual cost applicable 
against price of 
subsequent software 
purchase 

The sale of each 
propriety software 
package conveys a 
license for use on one 
system only 

Lifeboat Associates, 2248 Broadway, n.y., n.y. 10024 

(21 2) 580-0082 Telex: 668585 




ments, looking for the four 
tokens noted earlier. When it 
finds one of them, it looks 
behind it to see if there is a 
statement number. If the routine 
finds a statement number 1, it 
converts it from ASCII to binary 
and then compares it against 
the statement numbers that the 
first pass saved in the video 
RAM. 

At this point one of two things 
can happen to the renumber pro- 
gram. The first is that it finds the 
old statement number in the 
table. If this occurs all is OK, 
and we proceed normally. The 
alternative is that the routine 
can't find the old statement 
number, in which case there 
was an error in your original 
source program, such as a 
GOTO with a missing destina- 
tion. 

Improvisations 

But at this point your old pro- 
gram is partially renumbered, 
and we can't just stop renum- 
bering. So to recover, I chose to 
insert percent signs (%) where 
the missing statement number 
was, to indicate in the renum- 
bered listing that something 
went wrong during renum- 
bering. It would have been nice 
to print an error message at this 
point, but doing so would have 
disturbed the video RAM where 
the old statement numbers were 
stored. I discovered this the 
hard way after much head 
scratching! 

If the program successfully 
found the old statement number 
in the video RAM, it must now in- 
sert the corresponding new 
statement number in the BASIC 
text in place of the old number. 
Here is where the STR$ and ASC 
functions of BASIC come in to 
play. One minor quirk that must 
be addressed here is that the 
STR$ function returns a leading 
blank in the character string, 
probably where a sign would 
go, and this blank should be 
skipped over when POKEing 
back the ASCII characters. 

At this point we run into 
another possible error condi- 
tion. What happens if the new 
statement number has more 
digits than the original state- 
ment number and, hence, won't 
fit over top of it? Again, I chose 



to overlay the old statement 
number with a special charac- 
ter, in this case the ampersand 
(&), to flag the error and distin- 
guish this type of error from the 
"old statement not found" con- 
dition noted before. 

A few other minor changes 



leaves them alone. Since the 
renumberer starts at statement 
31999, it will remain intact. 

Operation 

The procedure to use the 
renumber program is relatively 
simple. First, load in the 



31999 EMD 

32000 CLERR:PRINT M STRRT RND INC" : INPUTNF* IN 

32001 RD=769:SS=53248:SN=NF 

32002 SL=PEEK <RD+2> : SH=PEEK <RD+3> 

32003 ROKESS* SL: PDKESS+1 > SH: SS=SS+2 

32004 DS=SL+256*SH 

32005 IFDS<31999THEN32007 

32006 PDKESS* 255: PDKESS+1 9 255: GDTD3201 1 

32 07 BT= I NT <SN/256> : PDKERD+3 , BT 

32008 BT=SN-256*BT:PDKERD+2>BT 

32009 RD=PEEK<:RD>+256*PEEk:<:RD*l> :SN=SN+IN 

32010 IFRDO0THEN32002 

32011 RD=769:MN=SN:SN=NF 

32012 BP=RD+4 

32013 BT=PEEK <BP> 

32014 IFBT=0THEN32020 

32015 IFBT=136THEN32023 

32016 IFBT=137THEN32023 

32017 IFBT=140THEN32023 

32018 IFBT=160THEN32023 

32019 BP=BP+l:GDTD32013 

32020 rd=peek<:rd>+256*peek:<:rd+i> :SN=SN+IN 

32 02 1 I FSN <MNTHEN32 1 2 

32022 END 

32023 BP=BP+l:BT=PEEK<BP> 

32024 IFBT=0THEN32020 

32025 IFBT=32THEN32023 

32026 IFBT=44THEN32023 

32027 IFBT<48THEN32014 

32028 IFBT>57THEN32014 

32029 FC=BP:LC=BP:DS=BT-48 
32 03 BP=BP+ 1 : BT=PEEK <BP> 
32 03 1 I FBT <48THEN32 034 

32032 IFBT>57THEN32034 

32033 DS=DS*10+BT-48:LC=BP:6DTD32030 

32034 SS=53248: JS=NF 

32 035 I =PEEK <SS> +256+PEEK <SS+ 1 > 

32036 IFJS>=MNTHEN32039 

32037 IFI=DSTHEN32042 

32038 SS=SS+2: JS=JS+IN: GDTD32035 

32039 JS=37 

32040 FDRI=FCTDLC:PDKEI»JS:NEXTI 

32041 GDTD32024 

32 042 R$=STR$ (JS> : I =LEN <RS> 

32 043 I F I > LC-FC+2THEN JS=38 : GDTD32 04 

32044 FDRI=FCTDLC:PDKEI>32:NEXTI 

32 045 LC=FC +LEN <RS> -2 

32046 FDRI=FCTDLC 

32047 JS=RSC <MIDS <RS> I-FC+2* 1> > 

32048 PDKEI> JS:NEXTI 

32049 GDTD32024 

Program listing. 



are required to make this renum- 
bering technique work. Most im- 
portant is to make sure that the 
program doing the renumbering 
does not try to renumber itself. 
Strange and undesirable things 
can happen if a program at- 
tempts to dynamically re- 
number itself. To prevent this 
from occurring, the renumber 
program checks for statement 
numbers greater than 31998 and 



renumber program, which starts 
at statement 31999. Actually, 
the first executable statement is 
at 32000; the END at 31999 is in- 
serted to stop a user program 
that terminates by falling 
through to the end of the pro- 
gram without an explicit END 
statement. After loading in the 
renumbering program, load or 
key in the program you wish to 
renumber. It is assumed that 



this program will not have state- 
ment numbers greater than 
31998. 

After loading is complete, key 
in RUN 32000 to begin renum- 
bering. You will be prompted for 
the desired beginning new 
statement number and incre- 
ment value. After this, the only 
visible evidence that renumber- 
ing is in process is that some ap- 
parently meaningless charac- 
ters will appear at the top por- 
tion of your video monitor during 
the first renumbering pass: 
These are the old statement 
numbers being saved in the 
video RAM. These may not be 
visible if you are renumbering a 
short program on a C1-P system, 
due to video overscan. 

After this there will be a 
relatively long pause, possibly 
several minutes, depending on 
the size of the program being 
renumbered. Be patient; do not 
press control-C or BREAK 
during this period or the pro- 
gram being renumbered will be 
left only partially renumbered, 
since the video RAM will be 
disturbed. When renumbering is 
completed, BASIC will prompt 
you with an OK, and you can pro- 
ceed to list and save your 
renumbered program. To save or 
list just your renumbered pro- 
gram and not the renumbering 
code, key in LIST 1-31998, and 
any statements in your program 
will be listed. 

The renumberer can be a 
valuable tool during program 
development by allowing dyna- 
mic renumbering while you are 
in the process of coding and 
testing a new program. It gives 
the added benefit of checking 
for missing destinations on 
GOTOs and GOSUBs that might 
otherwise go undetected until 
an unusual condition arose in 
program execution. 

The renumberer does not af- 
fect the execution of the user 
program while coexisting with it 
in the machine, other than by oc- 
cupying memory that would 
otherwise be available for vari- 
ables. The program statements 
for the renumberer occupy just 
under 1K bytes, and the require- 
ment for variables during execu- 
tion will bring the storage re- 
quirement up somewhat beyond 
that.B 



76 Microcomputing January 1980 



Outpost 11 has OEM 
written all over it. Get it 



into your system 




ANO's Outpost 1 1 
is a highly flexible, easily adaptable 
W^^^*^ microcomputer capable of handling virtually any control, 
communications, or stand-alone small business computing application. 
Two points make it the outstanding choice for incorporation into OEM systems: 
Cost. TANO's high-volume production means Outpost 1 1 is available at 
a most attractive price, with multi-unit discounts. 

Reliability. Modular design using 

military /industrial grade components yields 6060-hour MTBF. performance. 

Add to that the finest software tools and a variety of interface options 

(serial line, parallel, digital acquisition or analog acquisition) and you have 

the most versatile microcomputer in its price range. 

If you're an OEM, Outpost 1 1 has your name written all over it. 

See your nearest TANO representative and get it into your system. 

TANO Corporation, 4301 PocheCourt West, New Orleans, La. 70129, (504) 254-3500. 




»^T34 



TPMI© 



Visions of 
Sacks of Silver Dollars 



Teach 'em a thing or two at the casinos with this Blackjack-strategy tutor. 



Thomas W. Glaser 

RR 1 

Rochester MN 55901 



Ah . . . Vegas and the glitter- 
ing casinos filled with row 
after row of green-felt tables 
manned by the ever-efficient 
dealers of Twenty-one gently 
riffling card decks as they pre- 
pare the "shoe." Does there ex- 
ist a would-be gambler who has 
not dreamed of making a killing 
at one of these tables and de- 
parting Las Vegas with a bag of 
some casino's loot? 

I had such dreams prior to my 
first trip to Vegas last year. To 
enhance my chances for suc- 
cess I looked for ways to sharp- 
en my skills before the big test, 
as I'm sure others do. I visited 
the local bookstore and found 
several books and pamphlets 
describing various methods of 
successfully playing these 
mystical games of chance for 
profit. 

I purchased one of these 
sources of winning strategy for 
the game of Blackjack and, for 
the following several evenings, 
practiced as best I could mak- 
ing the correct strategic 
choices from many sample 
hands. Though the way I prac- 
ticed didn't seem very efficient, 
I at least managed to leave 
Vegas with slightly more green- 
backs than I had arrived with 
(though nothing resembling a 
bag was needed to carry away 
my loot). 

Recently I was reminded once 
again of this need for each of 



us to polish our skills prior to 
our try at the real thing, and the 
ideal practice method came 
clearly into focus. The idea for 
a computerized Blackjack tutor 
was born when my friend Ted 
strolled into my classroom one 
morning with that gambler's 
glint in his eyes. In his hands 
was a copy of the Rules of 
Blackjack and an airline ticket 
to sunny Nevada some four 
weeks hence. 

Now, Ted is a sly fellow in his 
own way. He knows of my near 
fanatical interest in microcom- 
puters and has a good appre- 
ciation of their capabilities. So 
he had come with a not-so-inno- 
cent question in mind: "How 
difficult would it be to create a 
Blackjack teacher that would 
deal random hands and then 
check my ability to make the 
correct choice?" 

Some ideas rather easily 



DEALER'S UP CARD 

3456789 10 A 



HARD 
COUNTS 



SOFT 
C'NTS 



PAIRS 




ALWAYS 

DRAW TO HARO 
8 OR LESS 

STAND ON HARO 
17 OR MORE 

DOUBLE DOWN 
ON HARO II 



ALWAYS 

STAND ON 
SOFT 19 OR 
MORE 



A LWAYS 

SPLIT ACES 
SPUT 8s 

NEVER 

SPLIT 5* 



STAND 
I I ORAW 
81 DOUBLE OOWN 
SPLIT PAIR 



Fig. 1. Basjc Blackjack strategy. 



arouse my interest, and I had 
the distinct feeling that Ted 
knew this idea would fit that 
category. I had played different 
versions of Blackjack dn sever- 
al systems, but never one that 
had provided feedback on cor- 
rect strategy. If I had only had 
such a tireless gambling tutor 
before my venture to Vegas . . . 
mmm . . . visions of sacks of 
silver dollars. 

Bouyed by the idea that 
others (especially Microcom- 
puting readers) might also ben- 
efit from such a teacher, I told 
Ted his tutor would be ready for 
some serious practice ses- 
sions before his scheduled 
flight to the Strip. 

Blackjack Strategy 

There are countless books 
that describe the rules and ba- 
sic stategy of the game of 
Blackjack, or Twenty-one. The 
object of the game is, of course, 
for the player to hold a hand 
that has a count not greater 
than 21, but greater than the 
count held by the dealer. It is 
perhaps the only casino game 
in which the player exercises 
judgement and discretion in 
the play of the cards. Thus, the 
player's chances of success 
can be improved considerably 
by increased knowledge of 
probabilities and correct strat- 
egy. 

There are several techniques 
the player can learn to enhance 
his playing ability. Some, like 
counting, are too complicated 
and require too much practice 
and concentration for the casu- 
al player. The strategy taught 



by the tutor is condensed from 
several sources and consists of 
these simple rules: 

1. When the dealer has a 
small card (2-3-4-5-6), stand on 
hands of 13-14-15-16. Draw to 
12 if the dealer has 2 or 3. 

2. When the dealer has a 
large card (7-8-9-1 0-ace), draw 
until a count of 17 or greater is 
reached. 

3. Double down when you 
have: 

Hard 10 except when dealer has 
10 or ace 

Hard 9 except when dealer has 
7 through ace 
Hard 11, always 
Ace-2 through ace-5 when deal- 
er has 4-5-6 

Ace-6 when dealer has 2 
through 6 

Ace-7 when dealer has 3 
through 6 

4. Split pairs when you have: 
2s when dealer has 3 through 7 
3s when dealer has 4 through 7 
6s when dealer has 2 through 6 
7s when dealer has 2 through 7 
9s when dealer has anything 
but ace-7-10 

Always split aces, eights 

5. For ace-2 through ace-6, 
draw a card if not able to dou- 
ble down. 

6. When holding ace-7: 
Stand if dealer has ace-2-7-8 
Double down \\ de&.er has 3-4-5- 
6 

Draw if dealer has 9 or 10 

7. Always stand on ace-8, 
ace-9 

These rules are summarized 
in Fig. 1, which diagrams the 
correct selections for the possi- 
ble combinations of two cards 
held by the player and the visi- 



78 Microcomputing January 1980 



0005 

0010 

0020 

0030 

0035 

0036 

0037 

0038 

0039 

00U0 

0050 

0060 

0070 

0080 

0090 

0100 

0110 

0120 

0130 

0140 

0150 

0160 

0170 

0180 

0190 

0192 

0195 

0200 

0201 

0202 

0203 

020U 

0205 

02 06 

0207 

0208 

0209 

0210 

0220 

0230 

0240 

0250 

0260 

0265 

0266 

0267 

0268 

0269 

0270 

0280 

0290 

0300 

0310 

0320 

0330 

0340 

0350 

0360 

0370 

0380 

0390 

0400 

0410 

0420 

0430 

0435 

0440 

0445 

0450 

0455 

0456 

0460 

0470 

0480 

0490 

0495 

0500 

0502 

0504 

0506 

0508 

Vb'iV 



REM 
REM 
REM 
REM 
DIM 



A PAIR 
A SOFT 
A HARD 
WORDS 



COUNT 

COUNT 

DURING 



(ONE CARD AN ACE) 



PLAY 



Program listing. SWTP Blackjack tutor. 



PRINT 

PRINT "BLACKJACK STRATEGY TUTOR" 

PRINT "VERSION 2-8-79" 

LINE- 80 

REM CREATE MATRICES 

P - FOR WHEN PLAYER HAS 
S - FOR WHEN PLAYER HAS 
H - FOR WHEN PLAYER HAS 
C$,T$ - FOR DESCRI PTIVE 
P(1Q.10).S(8,10),H(8,10),C$(13),T$(4) 
PRINT "WOULD YOU LIKE INSTRUCTIONS?" 
INPUT 1$ 

IF LEFT$(I$,1)-"N" THEN 180 
PRINT "YOU AS THE PLAYER WILL BE DEALT BLACKJACK HANDS AND" 

"SHOWN THE DEALER'S UP CARD. JUST AS AT THE TABLE, YOU" 

"WILL THEN HAVE FOUR OPTIONS:" 

" STAND PAT (STAND OR ST)" 

" SPLIT PAIRS (SPLIT OR SP)" 

" DOUBLE DOWN (DOUBLE OR DO)" 

" DRAW A CARD (DRAW OR DR)" 

"THE TUTOR WILL THEN ADVISE YOU IF YOUR ACTION 

"CORRECT BASED UPON BASIC BLACKJACK STRATEGY. 

"MAY ENTER END AT ANY TIME TO HALT THE EXERCISE." 

"GOOD LUCK... ENTER ANY NUMBER TO BEGIN.." 

I 



PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
PRINT 
INPUT 
PRINT 
REM SEED 
X-RND( I ) 
REM SET FOR 
Z-l 

PRINT "DO YOU 
PRINT "COUNTS 
INPUT 1$ 

IF LEFT$(I$,1)-"Y" 
REM SET TO IGNORE 
Z-2 

REM ASSIGN VALUES 
FOR J-l TO 10 
FOR 1-1 TO 10 
READ P(I,J) 
READ 



IS" 

YOU" 



THE RANDOM NUMBER GENERATOR 



ALLOWING 'OBVIOUS' HANDS 



WISH 
OF 8 



TO 
OR 



BE DEALT 
LESS AND 



HANDS 
17 OR 



WITH HARD" 
MORE?" 



GOTO 210 
OBVIOUS HANDS 

TO THE MATRICES 



IF l<9 READ S(I,J),H(I,J) 

NEXT I 

NEXT J 

REM CORRECT SELECTION TABLES 

REM 1-STAND 

REM 2-SPLIT 

REM 3-DOUBLE 

REM 4-DRAW 

DATA 2,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,1,4,4,1,4,2,1,4,1,1 

DATA 2,4,3,2,4,3,2,4,3,4,4,4,3,3,1,2,1,1,2,1,1,2,1,1,2,1 

DATA 2,4,3,2,4,3,2,4,3,4,4,4,3,3,1,2,3,1,2,1,1,2,1,1,2,1 

DATA 2,3,3,2,3,3,2,3,3,4,3,1,3,3,1,2,3,1,2,1,1,2,1,1,2,1 

DATA 2,3,3,2,3,3,2,3,3,2,3,1,3,3,1,2,3,1,2,1,1,2,1,1,2,1 

DATA 2,3,3,2,3,3,2,3,3,4,3,1,3,3,1,2,3,1,2,1,1,2,1,1,2,1 

DATA 2,4,4,2,4,3,2,4,3,4,4,4,3,4,4,2,1,4,2,1,4,2,1,4,1,1 

DATA 2,4,4.4,4,3,4,4,3,4,4,4,3,4,4,4,1,4,2,1,4,2,1,4,2,1 

DATA 2,4,4,4,4,3,4,4,3,4,4,4,3,4,4,4,4,4,4,1,4,2,1,4,2,1 

DATA 2,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,1,4,2,1,4,1,1 

FOR 1-1 TO 13 

READ C$(l) 

IF l<5 READ T$(l ) 

NEXT I 

DATA "ACE", "STAND", "DUECE", "SPLIT 

DATA "DOUBLE DOWN", "FOUR", "DRAW A 

DATA "SEVEN", "El GHT", "Nl NE", "TEN" 

REM INITIALIZE HAND (A), CORRECT 

A-0 

B-0 

C-0 

REM 

REM 



THE PAIR", "TREY" 

CARD", "FIVE", "SIX" 
, "JACK", "QUEEN", "KING" 
(C) AND BLACKJACK (B) COUNTERS 



DEAL THE PLAYERS 

UP CARD (D) 
P1-INT(13*RND*1) 
P2»INT(13*RND*1) 
D-INT(13*RND*1) 
REM DETERMINE THE CORRECT 
REM TREAT ALL 
Vl-Pl 
V2-P2 

IF Vl>10 THEN 
IF V2>10 THEN 
R-V1+V2 



HAND (PI AND P2) AND THE DEALERS 



FACE CARDS 



RESPONSE FOR 
AS 10 COUNT 



THESE CARDS 



VI- 
V2' 



10 
10 



0512 

0514 

0520 

0545 

0550 

0560 

0565 

0570 

0575 

0580 

0590 

0600 

0610 

0620 

0625 

0630 

0635 

0640 

0650 

0660 

0665 

0670 

0680 

0690 

0700 

0705 

0710 

0715 

0720 

0730 

0740 

0750 

0755 

0756 

0760 

0770 

0780 

0790 

0800 

0810 

0820 

0825 

0830 

0835 

0840 

0850 

0860 

0870 

0880 

0890 

0895 

09 00 

0905 

0910 

0920 

0930 

0940 

0950 

0960 

0970 

0974 

0975 

0980 

0990 

1000 

1010 

1020 

1030 

1040 

1050 

1055 

1060 

1070 

1080 

1090 

1100 

1110 

1120 

1130 

1135 

1140 

1144 

1150 

1160 

1170 



IF Dl>10 THEN Dl-10 
IF P10P2 GOTO 570 

REM PLAYER HAS A PAIR OF LIKE CARDS 
REM GET THE CORRECT ACTION FROM THE 
Q-P(V1,D1) 
GOTO 740 

REM CHECK EITHER PLAYER CARD AN ACE 
IF PlOl THEN IF P2<>1 THEN 670 
REM ONE CARD AN ACE, CHECK FOR BLACKJACK 
IF PK10 THEN IF P2<10 THEN 630 

BLACKJACK! 



PAIRS TABLE 



PLAYER HAS A 



SOFT COUNT 
NDEX 



(ONE CARD AN ACE) 



FROM SOFT TABLE 



";C$(D) 
";C$(P2) 



BLACKJACK!! NO SELECTION IS NEEDED. 



REM 

Q-5 

GOTO 74 

REM PLAYER HAS A 

REM CORRECT TABLE 

R-R-2 

REM GET CORRECT RESPONSE 

Q-S(R,D1) 

GOTO 740 

REM PLAYER HAS A HARD COUNT (NEITHER CARD AN ACE) 

REM IF COUNT>17 OR COUNT<9 THEN OBVIOUS STAND OR DRAW 

Q-l 

IF R>16 THEN ON Z GOTO 740,460 

Q-4 

IF R<9 THEN ON Z GOTO 71-0,460 

REM OTHERWISE CORRECT TABLE INDEX 

R-R-8 

REM AND GET CORRECT RESPONSE FROM HARD TABLE 

Q-H(R,D1) 

REM PUT THE HAND OUT TO THE TERMINAL 

PRINT 

PRINT "HERE WE GO SAYS THE DEALER..." 

PRINT 

PRINT 

PRINT "THE DEALERS UP CARD IS 

PRINT 

PRINT "YOU HAVE ";C$(P1); M - 

PRINT 

PRINT 

IF Q<>5 GOTO 870 

PRINT "YOU HAVE A 

B-B + l 

PRINT "PRESS RETURN FOR NEXT HAND.." 

A-A + l 

INPUT 1$ 

IF l$-"END" 

GOTO 460 

PRINT "IT'S 

PRINT "YOUR 

INPUT 1$ 

REM GET INDEX OF 

R$-LEFT$(I$,2) 

IF R$-"EN" GOTO 1140 

FOR 1-1 TO 4 

IF R$-LEFT>(T$(I),2) 

NEXT I 

PRINT 1$;" IS AN INVALID RESPONSE" 

PRINT "HERE'S THE HAND AGAIN" 

GOTO 755 

IF IOQ GOTO 1060 

C-C+l 

REM THE PLAYER HAS CHOSEN CORRECTLY 

X«INT(3*RND*1) 

ON X GOTO 1000,1020,1040 

PRINT "VERY GOOD. . .CORRECT RESPONSE.. 

GOTO 830 

PRINT "EXCELLENT. CORRECT CHOICE..." 

GOTO 830 

PRINT "THE DEALER SMILES KNOWINGLY AT 

GOTO 83 

REM THE PLAYER HAS CHOSEN INCORRECTLY 

X-INT(3*RND*1) 

ON X GOTO 1080,1100,1120 

PRINT "NO, THE CORRECT ACTION 

GOTO 830 

PRINT "BREAK TIME. . . ";T$ ( Q) ; " 

GOTO 830 

PRINT "THE DEALER FROWNS... HE EXPECTED YOU TO ";T$(Q) 

GOTO 830 

REM END SELECTED, 

PRINT 

"YOU HAVE PLAYED ";A;"HANDS. 

"CORRECT PLAY ";C;"TIMES AND 

"TRY AGAIN SOON..." 



GOTO 1140 

UP TO YOU. ..' 
CHOICE? SAYS 



THE DEALER. 



PLAYERS RESPONSE 



GOTO 970 



YOUR WISDOM. 



IS ";T$(Q) 

IS THE CORRECT CHOICE 



PRINT ATTEMPTS, CORRECT COUNTS 



PRINT 
PRINT 
PRINT 
END 



YOU HAVE CHOSEN THE" 
HAD ";B;"BLACKJACKS." 



ble card held by the dealer. Use 
of this strategy will allow the 
player to give the casino a 
good, stiff battle in Blackjack. 
In fact, use of this strategy will 
cut the house percentage to 
less than one percent, an al- 
most even money bet. 

You must believe, though, 
that the actions indicated by 
these rules are absolutely cor- 
rect. Selections other than 
those shown in Fig. 1 will only 
lessen the player's probable 



success. This, then, is the strat- 
egy upon which the tutor will re- 
ly in its determination of the 
correct choice for each hand 
dealt to the player. 

How the Tutor Works 

The Blackjack tutor is set up 
to generate random practice 
hands of Blackjack and test the 
player's ability to make the cor- 
rect strategic choice for the 
hand. In the play of a given hand, 
the tutor generates three ran- 



dom cards — two for the play- 
er and a third for the dealer. 
Based upon the values of these 
cards, the tutor determines the 
correct action from a table 
based on the strategy outlined 
above. 

If the player has a Blackjack 
(an ace and a ten-count card), 
the hand is over. The tutor as- 
sumes that any would-be player 
of Blackjack will know what 
one is and know not to draw to 
it! For player hands other than 



Blackjack, the tutor will ask for 
the player to select an action. 
The player has four choices: 

1. Draw a card (enter draw or 
dr) 

2. Stand pat (enter stand or st) 

3. Split pair (enter split or sp) 

4. Double down (enter double 
or do) 

The player's choice is com- 
pared to the correct action the 
tutor expects, and an appropri- 
ate congratulations or condol- 
ence message is printed. If the 



Microcomputing January 1980 79 



player chooses incorrectly, the 
tutor will also advise the player 
what the correct action is for 
the hand. This allows the player 
to immediately correct his 
thinking for the conditions dis- 
played and is the one item that 
sets the Blackjack tutor apart 
from other computer Blackjack 
games. 

The Tutor Program 

The Blackjack tutor is written 
in SWTP 8K BASIC Version 2.0, 
but is written to be easily adapt- 
able to other versions of BASIC. 
I used only single statements 
per line and also avoided 
unusual statement types as 
much as possible. 

The program is well com- 
mented and thus self-explana- 
tory. To conserve memory or 
avoid keying, all line references 
are structured such that all 
REM (remark) statements can 
be removed without affecting 
the operation of the program. 
However, this alone will not al- 
low the program to run on a 12K 
system; 16K is the minimum 
system required. If operation 
on a 12K system is required, 
elimination of lines 980-1030, 
1070-1110 and possibly the in- 
structions will be necessary. 

In addition to the basic pro- 
gram operation described 
above, there are a couple of ad- 
ditional significant features. As 
a player uses the tutor and be- 
comes more practiced, some 



hands become old hat. Among 
these are hands with hard 
counts of 8 or less or 17 or 
more. The correct action for 
these hands is pretty obvious, 
even for the beginner. At this 
point, the player might wish to 
concentrate his practice on 
hands that are not quite so ob- 
vious. The tutor allows the play- 
er to select this option before 
Hie play begins. 

The tutor will also keep a run- 
ning total of the number of 
hands played, the number of 
correct choices made by the 
player and the number of Black- 
jacks dealt to the player. When 
END is entered by the player to 
end the session, a summary of 
these counts will be printed. 

Final Comments 

After completing the BASIC 
version of the Blackjack tutor, I 
also wrote a version in 6502 as- 
sembler for the KIM-1. This pro- 
gram occupies about 700 bytes 
of RAM and uses the KIM's key- 
pad and display for input/out- 
put. The entries and displays 
are not nearly so elegant as in 
the BASIC version, but the 
strategy taught is identical. 
Thus, its usefulness as a learn- 
ing tool for the game of Black- 
jack is no less than that of its 
bigger brother. 

I will provide an object code 
listing and description of oper- 
ation to interested persons for 
the cost of mailing and repro- 



duction. My friend Ted, in fact, 
has used the KIM version as 
one of his prime practice tools. 
And as for Ted, well, he's yet to 



hit the felt tables, but after all 
of his tutor-guided practice, he 
has visions of sacks of silver 
dollars.! 



BLACKJACK STRATEGY TUTOR 
VERSION 2-8-79 

WOULD YOU LIKE INSTRUCTIONS? 
? NO 

GOOD LUCK... ENTER ANY NUMBER TO BEGIN.. 
? 1 

00 YOU WISH TO BE DEALT HAN0S WITH HARD 
COUNTS OF 8 OR LESS AND 17 OR MORE? 
? NO 

HERE WE GO SAYS THE DEALER... 

THE DEALERS UP CARD IS JACK 

YOU HAVE KING - DUECE 

IT'S UP TO YOU... 

YOUR CHOICE? SAYS THE DEALER... 

? DRAW 

EXCELLENT. CORRECT CHOI CE .. . 
PRESS RETURN FOR NEXT HAND.. 
? 

HERE WE GO SAYS THE DEALER... 

THE DEALERS UP CARD IS FIVE 

YOU HAVE NINE - SIX 

IT'S UP TO YOU... 

YOUR CHOICE? SAYS THE DEALER... 

? STAND 

VERY GOOD... CORRECT RESPONSE.. 
PRESS RETURN FOR NEXT HAND.. 
? 

HERE WE GO SAYS THE DEALER... 

THE DEALERS UP CARD IS FOUR 

YOU HAVE SEVEN - TREY 

IT'S UP TO YOU... 

YOUR CHOICE? SAYS THE DEALER... 

? DRAW 

THE DEALER FROWNS... HE EXPECTED YOU TO DOUBLE DOWN 
PRESS RETURN FOR NEXT HANO. . 
? END 



YOU HAVE PLAYED 3 HANDS. YOU HAVE CHOSEN THE 
CORRECT PLAY 2 TIMES AND HAD BLACKJACKS. 
TRY AGAIN SOON... 



Sample run. 



REAL GRAPHICS FOR PET 




SHOWN WITH: 
K-1007-1 INTERFACE 
K-1008-P VISIBLE MEMORY 
K1005-P 5 SLOT CARD FILE 
K-1008-3C DRIVER SOFTWARE 



$99.00 

$243.00 

$80.00 

$20.00 



CALL OR WRITE FOR OUR FULL LINE CATALOG OF PET 
EXPANSION PRODUCTS. 



THE FLEXIBILITY YOU HAVE DREAMED ABOUT IS NOW AVAILABLE! 

320 WIDE X 200 HIGH RESOLUTION 

EACH DOT INDIVIDUALLY ADDRESSABLE 

SOFTWARE SUPPORT - LEVEL 1 GIVES GRAPHICS & TEXT CONTROL AT MACHINE 

LANGUAGE SPEED BUT ACCESSABLE FROM BASIC BY G0SUB AND VARIABLE 

STATEMENTS. 

DUAL PORT 8K BYTE MEMORY ON BOARD ALLOWS FULL USE OF MEMORY FOR 

OTHER TASKS (SEE YOUR PROGRAMS IN THEIR DIGITAL FORM IF YOU LIKE!) 

DOUBLES THE MEMORY SIZE OF AN 8K PET 

COMPLETELY TRANSPARENT SCREEN REFRESH - NO SNOW OR BLINKING EVER - 

THE PROPER WAY TO DO IT! 

MICRO TECHNOLOGY UNLIMITED 

841 GALAXY WAY 

P0 BOX 4596 

MANCHESTER, NH 03108 

(603) 627-1464 ^M44 



80 Microcomputing January 1980 



I V HM I MM 1 51 1 1 1 1 1 1 

Diunsrs Issrcisiic i lauslaiiar 



THE EXATRON STRINGY 
FLOPPY 

For new readers, the ESF is 
a mass storage subsystem for 
microcomputers. Because of its 
speed and reliability, it does 
away with all the objections of 
using audio tape, and audio re- 
cording and playback techniques, 
without going to the expense of 
acquiring disk subsystems. The 
ESF is available for the TRS-80, 
SWTP or other 6800 systems, 
and S-100 bus systems. The TRS- 
80 version is a complete unit, 
ready to plug in and go, and as 
simple to use as the TRS-80 
itself. It will load a 4K program 
in 6 seconds without error, and 
can save up to 40K on the 
longer tapes. Use our toll-free 
line below to ask for the infor- 
mation packet on the ESF. 

ESF WORKSHOP 

You would have been amazed 
to see what went on at a recent 
Saturday morning ESFOA work- 
shop. Present was a wide range 
of Exatron Stringy Floppy own- 
ers and enthusiasts: professional 
programmers, gifted amateurs, 
beginners in microcomputing, 
and some brand new ESF own- 
ers. Several encouraging wives 
were there. After exchanging in- 
formation on what each owner 
was doing, and questions and 
answers, there were several dem- 
onstrations of new programs and 
projects. One new owner showed 
us "WORM", a fascinating little 
graphics program with a worm 
wiggling his way all around the 
screen at random. Another had 
prepared his family and friends 
for Halloween by writing an in- 
teractive program with graphics 
and story line -scary face, star- 
tling displays, humorous dialog, 
and all! Others had intensively 
exercised the new data I/O func- 
tions (see below) for the TRS-80 
version of the ESF, and had 
comments on the fine points of 
using data files. Long after the 
normal end of the meeting, the 
plant office and conference area 
was still full, with guys who 
didn't know learning from guys 
who did, with more detailed ex- 
changes on individual projects, 



Secretary, Fred Waters 

and with discussion of what to 
do next. 

ESFOA CHAPTERS ALL OVER 

Well, you can do it too! 
We've had a number of inquiries 
from ESF owners around the 
US about other owners nearby. 
As the nationwide density of 
owners increases, clusters grow 
in the more populated areas. So 
we have a plan under way to 
get you together, to inform 
you of nearby colleagues. Then 
you too will have the benefits 
of meeting and exchanging in- 
formation on techniques, pro- 
grams, new applications and hard- 
ware augmentations. 

HANDLING DATA FILES 

Along with the firmware built 
in the ESF, you also get another 
significant piece of software- the 
Data I/O Program for the TRS- 
80 version, on ESF wafer. The 
ROM has the programs for certi- 
fying new wafers, and for saving 
and loading BASIC and assembly 
language programs. The subrou- 
tines needed for data file hand- 
ling are also in the ROM, and 
assembly language programmers 
can use them. Those who prefer 
BASIC can use the Data I/O Pro- 
gram. It resides in RAM, and is 
delivered on ESF wafer with 
your system. 

Well, what does it do? Those 
of you who have fooled with 
larger computers or have used 
disks probably already know. 
Let's look at an example. Say 
you have a household or small 
business inventory program in 
your TRS-80. The program has 
provision for entering items and 
related data, for reporting quant- 
ities, for flagging recorder re- 
order points, for processing cost 
and price data, and so forth. So 
you take an inventory as of 
January 1 . Now all the data you 
have in the file -the raw material 
on which your program operates, 
and which changes periodically - 
needs to be retained until the 
next inventory. At that time the 
present data is the starting point 
for the changes that have oc- 
curred. So you need to save the 
data on your storage medium, 
ready to process the next time 
you use the program. 




Dr. Lichen Wang is a physicist who learned programming simply to 
make his job easier. Dr. Wang has authored several highly significant 
software systems for personal computers. His first popular and 
famous program was the kaleidoscope program for the Cromemco 
dazzler video board. Dr. Wang is the author of Palo Alto Tiny Basic 
which appeared later in an expanded version as Cromemco Control 
Basic and was also used as the basis for TRS-80 Level I Basic. Dr. 
Wang wrote a robot control language called "WSFN" [Which 
Stands For Nothing] that can drive x-y access devices and uses very 
unique concepts to allow reiterative shorthand code to draw re- 
petitive shapes. Most of the prolific output of Dr. Wang has been 
given away and freely published for use and modification by 
hobbyists. 



The syntax for the Data I/O 
Program provides first for OPEN- 
ing a numbered file on a selected 
drive unit. Up to eight Stringy 
Floppy s can be operated with 
one TRS-80, and there can be up 
to 99 files on one wafer. You 
may open one file on each drive 
unit in your system, if needed. 
Next you use the command 
"@PRINT", following by a list 
of expressions (constants, var- 
iables and operators) to save on 
tape the values of the selected 
expressions. Finally you use the 
"@CLOSE" command to close 
the file. For multi-drive systems 
there is provision for designating 
the current drive, for closing all 
open files at once, and for clear- 
ing all variables and arrays. 

When you want to retrieve 
the data, you again use the 
"@OPENn" command (n is the 
file number), and then load the 
data by using the "@INPUT" 
command, followed by a list of 
variables. These variables must 
match in type the expressions 
saved, and their values are loaded 
into memory. Again you must 
close the file, and you may select 
another drive unit or clear all 
variables and arrays as before. 

An important point: all the 
commands for data I/O can be 
used as program statements, just 
as the commands for loading 
BASIC and assembly language 



programs can. This means that 
you can write your BASIC pro- 
gram to include the functions 
both of creating and processing 
the data you are interested in, 
and of storing it on a data file 
wafer until needed again. You 
can probably think of-or already 
have thought of-many applica- 
tions around the home or in a 
small business where you need 
data files. 

In passing: probably the most 
important single conceptual fea- 
ture of the Exatron Stringy 
Floppy is its total adaptability 
to any software capability you 
can imagine. If you need a par- 
ticular microcomputer applica- 
tion, and if a program can be 
written to carry it out, the ESF 
can handle it for you. 

INFORMATION & ORDERS 

The ESF is assembled and 
tested at the factory, with a 30- 
day moneyback guarantee and 
a one-year full warranty. Base 
price for the TRS-80 ESF: 
$249.50. For the S-100 ESF: 
$289.50. For SWTP: $250.00. 
Place credit card or COD orders 
using the toll-free line below for 
fastest delivery. 

User's Manuals and a com- 
plete information packet is avail- 
able for all versions of the ESF 
at no charge. 



If you have any questions about these products, about Exatron, or 
about ESFOA, call the Hot Line. Address letters to ESFOA, 3559 
Ryder St., Santa Clara, CA 9505 1. 

Stringy Floppy is a trademark of Exatron Corporation 



^E48 



HOT LINE 



WITHIN CALIFORNIA 



800-538-8559 



408 737-7111 




TRS-80 Owners 



ACS makes it easy for you 



to add-on disk storage with mini-disk storage 
terns. ..102k bytes of additional on-line store 



systems 



storage 



COMPARE AND SAVE 

The FD-200 drive from ACS lets you store 102.4k bytes of 
data on one side of the disk. ..compared to only 80k bytes 
on a TRS-80'"mini-disk drive.. ..and 102.4k bytes on the 
other side, as well. That's almost 205k bytes per mini-disk, 
something you can't do with a TRS-80 "drive. 
Completely compatable with your TRS-80? Can be used 
as No. 0, 1, 2 or 3-drive. 

4-DRIVE CABLE $35.00 



AVAILABLE IMMEDIATELY 

Ready when you are. ..one-, two-, three-, and four-drive 
systems from ACS. 

• NEW LOWER PRICE 

Good news from ACS. ..a single-drive 
FD-200 "cost you only $375. 

Add $20.00 for DOS 3.0 disk 
after September 1, 1979. 





wvr 



Orders received by 6:00 p.m. shipped 
within 3 days on Master Charge, Visa, 
Certified Check or Money Order. 
Personal Checks require 14 days to 
clear. No C.O.D. Collect calls not 

accepted. All Hardware warrented for 90 days. 

Software guaranteed for replacement only. 

Prices subject to change without notice. 

Automated 
^ Computer 
Software service 

(615) 244-2798 

r^, rm Division of 

* utampufar World inc. 



625 Main Street • Nashville, TN 37206 



ORDER NOW AND SAVE! 

Send Check or Money Order payable to — 

ACS* 625 Main Street • Nashville, TN 37206 

Quan. Description Unit Price Total 



























HAND 
TENN 


LING CHARGE $1.50 

. RES. ADD 6% SALES TAX 


TOTAL 





□ Check 

□ Money Order 

□ MasterCharge 

□ Visa 

Card No. 



Exp. Date 



Name 



Address 
City _ 



State 



Zip 




Business 

& 
Application 

Software 
Available 




■• I** '///ft. a . „..iCu.. 



"'jW^m%» 






PROGRAM 



DESCRIPTION 



f -. ** 

— r* rr 

K» _ 

KJ 



> 



AN EXCITING SPACE WAR GAME WITH GRAPHICS 

3 GAMES- LUNAR LANDER-STAR MONSTER-SPACE BATTLE 

A REAL TIME LUNAR LANDER WITH GRAPHICS 

FORMAT TEXT— SAVE & LOAD TO TAPE— OUTPUT TO PRINTER 

A STRATEGY BOARD GAME— PLAY AGAINST COMPUTER OR OTHERS 

A REAL TIME, ARCADE TYPE SHOOTING GAME IN MACH. LANG. 

PLAY CHESS WITH YOUR COMPUTER— VARIOUS LEVELS OF DIFF. 

DON'T WAIT FOR OTHERS TO PLAY— YOUR COMPUTER'S READY 

BLACKJACK WITH HIRES GRAPHICS 

SCI-FI GAMES FOR THE APPLE 

RENUMBER YOUR BASIC PROGRAMS— RENUMBERS EVERYTHING 

SAME AS ABOVE, BUT ON DISK 

THE EDUCATIONAL LANGUAGE. IN MACH. LANG.-1NC. EDITOR 

THE DISK VFRSION OF THE ABOVE 

YOUR APPLE SPEAKS! NO NEW HARDWARE REQUIRED 

SPEECH RECOGNITION THE EASY WAY— GREAT WITH THF TALKER 

TIC TAC-TOE USING SPEECH SYNTHESIS AND RECOGNITION 

MAKE BACKUP TRS-80 SYSTEM TAPES THE EASY WAY 

GAME OF NIM WITH ANIMATED ROBOTS AND SOUND 

A BETTING GAME WITH ANIMATED SNAKES AND SOUND 

100 GEN PER MIN. LIFE & BATTI F OF LIFE W/ANIMATION & SOUND 

PUT SYSTEM TAPES ON DISK EVEN IF IN SAME MEM AS DOS 

ENTER SHEET MUSIC— THE TRS-80 THEN COMPILES & PLAYS IT 

SAME AS ABOVE BUT ON DISK W/MANY SELECTIONS 

OPENS UP THE WHOLE WORLD OF CP/M SOFTWARE TO THE TRS-80 

IO«7o OFF IF YOU ORDER 3 SOFTWARE PACKAGES OR MORE SEND FOR FREE CATALOG-GIVE TYPE OF COMPUTER 

TO ORDER BY PHONE OR FOR DEALER INFO— CALL— (617) 682-8131 

ADD 75c SHIPPING & HANDLING • MASS. RESIDENTS ADD 5<7o SALES TAX 

MAD HATTER SOFTWARE • 900K SALEM RD • DRACUT, MA 01826 



GALACTIC BLOCKADE RUNNER 

SCI-FI GAME SAMPLER 

R/T LUNAR LANDER 

MICRO-TEXT EDITOR 

OTHELLO III 

AIR RAID 

MICRO-CHESS 

BRIDGE CHALLENGER 

APPLE 21 

STAR WARS/SPACE MAZE 

RENUMBER 

DISK RENUMBER 

PILOT 2.0 

PILOT 3.0 

APPLE TALKER 

APPLE LIS'NER 

TIC-TAC-TALKER 

SYSCOP 

ANDROID NIM 2 

SNAKE EGG 

LIFE 2 

DCV-1 

MUSIC MASTER 

DISK MUSIC MASTER 

TRS-80 CP/M 



s 
I 

s 
s 
I 
I 

s 
I 

s 

s 

s 

s 
s 
s 
s 
s 
I 

s 
s 
I 
I 

s 

s 

s 



9.95 

7.95 

7.95 

9.95 

7.95 

14.95 

19.95 

14.95 

9.95 

12.95 

14.95 

19.95 

14.95 

24.95 

15.95 

19.95 

19.95 

9.95 

14.95 

14.95 

14.95 

9.95 

14.95 

24.95 



$150.00 




& 

O 




O 

CD 



CD 

o 




CD 



masiei hai 




^M77 



AVAILABLE FROM THESE FINE MICRO COMPUTER DEALERS 



CAPITOL COMPUTER SYSTEMS 
))96 EL C AMINO AVE 
SACRAMENTO CA 9)121 

TRS-M) SOFTWARE EXCHANGE 
17 BRIARCLIFF DR 
MM FORI) NH 0XMJ 

OP AMP TECH BOOKS 
10)) N SYCAMORE AVE 
I OS ANtil ES C A W0)l 



COMPUTER t ABI I VISION. INC 
2617 42ND ST NW »2 
WASHINGTON DC 20007 

KFNNEI Y SYSTEMS 

74 BROAD ST 

I YNDONVI1IE VT 05151 

ADVANCED COMPUTER PRODUCTS 
I110B i E MN.iER 
SANTA \»./\ CA 9270' 



HOBBY WORLD ELECTRONICS 
19)55 BUSINESS CENTER DR «6 

NOR T MR UK. I CA 91)24 

AUGUST AUTOMATION 
UMILK ST 
WFSTBORO MA 01 511 

THE CPU SHOP 

)9 PLEASANT ST 

CHAR1 ESTOWN MA 02129 



14 J ELECTRONICS LTD 

2S COLLINGTON AVE 

BEXHILL ON SEA. E SUSSEX, ENG 

COMPUTER VILLAGE 
9)1 SW I7TH AVE 
MIAMI Fl 11174 

L. C. SALES 

100 HINCHEY AVE §705 

OTTAWA. ONT . CAN KIY4L9 



v* Reader Service— see page 227 



Microcomputing January 1980 83 



An Operator-Oriented 

Data Base 
Management System 



This three-part article on managing data begins with a description of the system. 



Joel Shapiro 

491 Ken i I worth Court 

Des Plaines IL 60016 



It all started when I decided I 
needed another program that 
could generate some new files 
for storing catalog data. Going 
back through the many applica- 
tions programs I had written in 
the past, I was amazed at the 
number of different file formats I 
had generated for my programs. 
As anything less than standard- 
ization is unforgivable in my pro- 
fession (manufacturing), I de- 
cided to do something about it. 

Introduction 

The computer at home is used 
for a part-time computer service 
run by my wife and as a tool with 
which I can develop business 
software. A data base manage- 
ment system would be helpful 
for both uses. Considering my 
wife's background in office pro- 
cedure (former secretary and 
word-processing department su- 
pervisor), I could make the pro- 
gram compatible with the man- 
ual systems used in many small 
businesses. 

The problem I've run into in 
the past is that many existing 



programs support a long learn- 
ing curve from the operator 
training viewpoint. The unfortu- 
nate thing about this is that 
most small businesses will not 
use a computer if it won't fit into 
their existing procedures with a 
minimum of effort and change. 
Anticipating this and the fact 
that many readers would like 
this type of program, I decided 
to incorporate many prompts 
and error-trapping routines in 
the program. 

As a businessman with some 
years of experience as a manu- 
facturing executive, I am famil- 
iar with data base systems from 
the user's viewpoint. This has 
helped in developing this pro- 
gram in that many of the fea- 
tures of some existing commer- 
cial programs are not used and 
other features are desired. 

I have selfishly written the 
program with my own preju- 
dices in mind, and I believe an 
operator, with very little training, 
can make use of the system. No 
attempt has been made to con- 
serve memory or increase speed 
at the expense of operator con- 
venience, operator assistance 
or system flexibility. The com- 
promise in speed is not limiting 
for personal computer use and 
is within the requirements of a 
small business that will use the 



computer to supplement a small 
staff. 

The program was written to 
run in my system, which has48K 
of memory. Although much of 
the memory is used by the inter- 
preter and approximately 2K is 
used for the display at the top 
end, it has proved to be enough 
for the program. The system 
also has dual disk drives, each 
capable of 31 5K of storage, and 
a printer capable of 132 charac- 
ters per line. I feel that this may 
represent the system a small 
business would use. 

The programs can be changed 
to suit individual systems by use 
of the chain feature of Micropo- 
lis BASIC for smaller program 
segments. The elimination of 
many of the prompts, error 
traps, messages and remarks 
can also save memory, but this 
may compromise operator con- 
venience and promote error. Ad- 
ditionally, a few of the subrou- 
tines will have to be changed to 
suit the user's terminal. Those 
written in the program support a 
Merlin video board, which is not 
too common. 

Part 1 of this three-part article 
will describe the features and 
operations of the program, leav- 
ing the description of the code 
itself for parts 2 and 3. I will 
cover explanations of features 



used in Micropolis BASIC and 
possible changes the reader 
may desire. 

Program Features 

1. Full prompting, with many 
error traps, error messages and 
subroutines, which make it easy 
to learn. 

2. Up to 30 fields for data, 
each of any length as long as 
the total of all fields does not ex- 
ceed 248 characters. 

3. Field titles up to 18 charac- 
ters. 

4. Complete edit function for 
all data. 

5. Data can be deleted from 
one file and added to another 
automatically. 

6. Automatic formatting of 
dates. 

7. Automatic search for any 
entry in any field. 

8. Automatic formatting of 
dollar fields. 

9. Data recovery utility pro- 
gram for use in case of program 
crashes. 

10. File parameters remain 
on disk and can be changed by 
the user. 

11. Report format is selected 
by the user, including all ele- 
ments of the heading. 

12. Report format can be re- 
tained on disk for future use as 
well. 



84 Microcomputing January 1980 



13. Column spacing Is auto- 
matic, and program will wrap 
around any lines that are too 
long for the printer in use. 

14. As an option, program 
will reverse first and last names. 

15. Reports can be made any 
length. 

16. Reports can be made with 
data between an upper and low- 
er limit as determined by the 
user. 

17. Numerical and dollar 
fields can be totaled at the end 
of the report. 

18. Multiple level sorting that 
can sort up to ten levels is avail- 
able. Index files that allow the 
same file to be sorted in many 
ways are used. 

Description 

The data base management 
system consists of three major 
programs or functions: one cre- 
ates a file; another allows the 



management of data; and the 
third provides a printed report 
derived from the data. Other pro- 
grams in the system provide util- 
ity functions such as sorting, 
and still others provide for the 
access of data from many files 
in order to obtain information 
for a single report. Application 
programs can gather data from 
one or several files, manipulate 
the data and generate reports or 
even more files. The possibili- 
ties are endless when the appli- 
cation calls for the storage and 
manipulation of data. 

The reason the data base 
management system can have 
such unique possibilities is that 
all files are accessed and read in 
the same manner, so programs 
can be written with this stan- 
dardization in mind. 

The system presented here 
covers the three major functions 
and provides for sorting and file 



recovery in case of a program 
crash. 

First of all, line 80 is the effec- 
tive entry point in each program. 
This means that typing GOTO80 
in the case of a program crash 
will allow reentry into the pro- 
gram and restart without loss of 
data in most cases. If the com- 
puter flashes a FILE OPEN error, 
just type CLOSE 1 and then GO- 
TO80. A CONTROL C will inter- 
rupt processing. The program 
disk must be placed in drive 
number for proper chaining op- 
erations. 

Creating A File 

The disk used for this file 
must have been previously for- 
matted by the Micropolis for- 
matting routines before a file 
can be created. 

Operation is initiated by load- 
ing the DATABASE program. 
When started, the program will 



request the date and transfer 
control to PROGRAMS. All pro- 
grams have a subroutine that 
will format the date, and all will 
accept input in the following 
manner. 

When a date is requested, it 
must be entered month, day and 
year. It can be entered using sin- 
gle digits for month and day and 
any nonnumeric character be- 
tween the groups. This means 
that 7 3 75 will be formatted as 
07/03/75. If you type 7r3z75, it 
will be formatted properly as 
well. It is important that all 
dates be in the same format for 
proper handling in these pro- 
grams. 

PROGRAMS will display a 
menu from which the operator 
can choose the desired function 
or program, and once chosen, 
control will be passed to that 
program. Since data is passed 
between programs, it is impor- 



FILE FACTORY PAYROLL FILE CODE 
FILE CREATED 07/05/79 FILE UPDATED 


1 

07/29/79 14 ENTRIES 
















CL • 

LG 


NAME 
HR/PAY SOC SEC ♦ 


EXMT 


STREET CITY 
DATE HIRE DATE DEPT STATUS EMER PH 


EMP 


PH 


ST 


ZIP 
VAC 


DEPT POSITION 
NAME EMERGENCY 


12111 
12 


ABBOTT r GEORGE 
$ 7.54 888-77-6666 


1 


345 LENDER AVE 
04/31/76 04/31/76 1 


MATOON 
132-1321 


132- 


-1321 


IL 


62332 
1 


123 
ABBOTT 


INSPECTOR 
l DORIS 


02111 
11 


BROUN » GEORGE 
♦ 6.93 131-31-3113 


6 


99 DENVER AVE 
06/03/74 07/07/78 2 


ALBION 
343-3232 


343- 


-3232 


IL 


67766 

4 


245 
BROUN r 


INSPECTOR 
ESTHER J. 


10222 
11 


BROUN f MARY ANN E. 
% 6.50 303-03-3030 


1 


678 N. MARINE DR. 
06/07/78 06/07/78 1 


CHICAGO 
123-9876 


123- 


-9876 


IL 


60606 



300 
BROUN * 


CLERICAL 
ESTHER 


22021 
12 


BROWNE , KAREN J. 
♦ 7.75 535-53-3535 


2 


19 UOODDALE AVE 
01/21/72 01/21/79 1 


CANOGA 
333-3333 


333- 


-3333 


IL 


66600 

1 


123 

BROUNE 


SUPERVISOR 
f JOHN 


32113 
23 


HUDSON* DANIEL J. 
♦ 25.00 444-66-8888 


2 


55 NORTH AVE 
04/04/69 06/07/78 1 


CHICAGO 
355-6879 


355- 


-6879 


IL 


60789 

4 


123 
HUDSON 


BOSS 
» JANE 


00122 
9 


JOHNSON f JAMES C. 
♦ 5.50 222-33-4444 


3 


8954 UOODVILLE AVE 
06/15/76 06/15/76 1 


DEMPSEY 
444-5555 


444- 


-5555 


IL 


61123 

1 


105 
WOODS, 


MACH. OPERATOR 
DORIS 


00101 
23 


JONES* KEITH 
t 13.50 999-99-9999 


4 


999 UEST DRIVE 
05/12/66 05/05/78 1 


SAMPSON 
222-1122 


222- 


-1122 


IA 


23999 

4 


111 
JONES r 


SALESMAN 
BETTY 


54321 
10 


METZ» GLADYS G. 
% 5.80 866-54-9002 


1 


54 WINDSON LANE 
05/13/76 12/12/78 1 


CRETE 
662-4578 


566- 


1221 


IL 


61134 

2 


112 
METZ* . 


OFFICE CLERICAL 
JOHN 


00121 
8 


PASTERNACKr LAURENCE 
♦ 5.25 444-56-1234 


1 


23 PANSY LANE 
07/07/77 08/01/78 1 


ODESSA 
NONE 


234- 


-2345 


IL 


60111 



105 
NONE 


JR. OPERATOR 


11056 
10 


PETERSON* GERALD 
t 5.80 234-76-9456 


1 


886 FORMOST DR. 
09/21/78 08/21/78 1 


UINNEBAGO 
555-3456 


555- 


-3456 


IN 


47768 



116 OFFICE CLERICAL 
PETERSON » HAROLD 


00123 
13 


SMITH. ROGER 
• 8.45 111-22-3333 


5 


345 UOOD AVE 
05/06/73 06/22/75 1 


ASPEN 
234-5678 


234- 


-5678 


IL 


60894 

2 


103 

SMITH, 


MACHINIST 
BETTY 


00111 
12 


VALDEZ* JUAN 
$ 7.93 102-23-5678 


2 


134 E. 54TH ST 
05/12/75 08/19/77 1 


AKRON 
335-6789 


335- 


-6789 


IL 


60923 

2 


103 
VALDEZ 


MACHINIST 
» GLORIA 


10987 
41 


UYNN* EDUARD G. 
• 50.00 111-55-7777 


4 


244 LAMPSON DR. 
04/31/67 03/31/78 1 


CLARK 
666-9944 


666 


-9944 


IL 


61138 

5 


124 
UYNN* 


MANAGER 
BERTHA 


TOTAL HR/PAY - * 155.95 


























Listing 1. Entire file— 


-alphabetical sort. 















Microcomputing January 1980 85 $ 



FILE FACTORY PAYROLL 


FILE CODE 1 












FILE CREATED 07/05/79 


FILE UPDATED 07/29/79 


14 


ENTRIES 








NAME 


STREET 






CITY 


ST 


ZIP 


GEORGE ABBOTT 


345 LENDER AVE 






MATOON 


IL 


62332 


GEORGE BROUN 


99 DENVER AVE 






ALBION 


IL 


67766 


MARY ANN E. BROUN 


678 N. MARINE DR. 






CHICAGO 


IL 


60606 


KAREN J. BROUNE 


19 UOODDALE AVE 






CANOGA 


IL 


66600 


DANIEL J* HUDSON 


55 NORTH AVE 






CHICAGO 


IL 


60789 


JAMES C. JOHNSON 


8954 UOODVILLE AVE 






DEMPSEY 


IL 


61123 


KEITH JONES 


999 UEST DRIVE 






SAMPSON 


IA 


23999 


GLADYS G. METZ 


54 UINDSON LANE 






CRETE 


IL 


61134 


LAURENCE PASTERNACK 


23 PANSY LANE 






ODESSA 


IL 


60111 


GERALD PETERSON 


886 FORMOST DR. 






UINNEBAGO 


IN 


47768 


ROGER SMITH 


345 UOOD AVE 






ASPEN 


IL 


60894 


JUAN VALDEZ 


134 E. 54TH ST 






AKRON 


IL 


60923 


EDUARD G. UYNN 


244 LAMPSON DR. 






CLARK 


IL 


61138 




Listing 2. Address list name sort. 







tant that DATABASE be the first 
program used. 

The CREATE program pro- 
vides all of the functions re- 
quired for creating the file itself, 
the parameters of which are 
written into the first five records 
of the file. Information written 
into the file by this program is as 
follows: 

File code— I use a numerical 
code (0-99) to control file access 
by application programs. It can 
be alphanumeric and up to 30 
characters long if desired. 
Special filename/purpose— A 
string of up to 30 characters- 
used on reports if actual file- 
name is to be guarded or if pur- 
pose such as Payroll, Mail List, 
etc., is to be printed on the re- 
port. 

Number of fields— Added by 
program when file is created. 
File create date— Date entered 
when program was initialized 
and CREATE program used to 
create a file. 

All of this data is written into 
record 1 of the file. Additional in- 
formation such as print options, 
records to be deleted, file up- 
dates, etc., which are used else- 
where in the system, will also be 
retained in record 1. This saves 
time in reentering a lot of data 
and also provides continuity to 
the system. 

The title, size, type code and 
operator access key for each 
field is written into records 2-4. 
Fields— A field is where a sin- 
gle element of data is stored. 
The data is accessed from the 
file by accessing the field. If 
you picture a printed report 
with several columns, each 
column will represent a sepa- 
rate field. 



Each field must have a title; a 
maximum of 18 characters is al- 
lowed for each title. Certain fea- 
tures, which are described later, 
are keyed into a portion of the ti- 
tle, so the title for the field must 
be decided carefully. 

When data is entered into a 
field, blanks are added to fill out 
the data string to the selected 
field length. This is done so the 
field data can be accessed cor- 
rectly in all routines. The field 
codes (N, S and D, meaning nu- 
merical, string and dollar, re- 
spectively) determine how this 
is done. All S fields are padded 
from the right so all string data 
is left justified when printed. All 
N fields are padded from the left 
and are right justified. D fields 
are padded from the right, but 
are formatted in the REPORT 
program. 

It is extremely important that 
the size of a D field allow for the 
the decimal point and 1/100s 
(cents) in addition to the space 
required for whole dollars. No 
space need be allotted for a dol- 
lar sign or commas, as these will 
be added in the REPORT pro- 
gram. 

If a decimal point is used in N 
fields, don't expect them to line 
up in printed reports. Because 
the number of digits to the right 
of the decimal point is not al- 
ways known, the field cannot be 
readily formatted. However, 
data consisting of a whole num- 
ber will be right justified. 

Certain features are keyed 
from the first four characters of 
a field title. When read as name, 
the field is designated as S, and 
subsequent programs will allow 
reversal of the first and last 
names. Names should be en- 



tered as follows for correct pro- 
cessing: enter the last name, 
comma, space and first name. 
The program will search the 
string for the comma and re- 
verse the string from that point. 

When read as date, all pro- 
grams will provide for correct 
formatting of the date string. All 
dates must be in a date field for 
proper handling of the data. 

When the first four characters 
are read as AMT., the field is set 
as a D field. If you don't want to 
use AMT. in the title, it is still 
possible to designate the field 
as a D field. Correct formatting 
will not occur if the field is not 
coded D. 

File Maintenance 

The file maintenance pro- 
gram, MAINT, is responsible for 
controlling data entry, editing 
and removal with regard to the 
file. When MAINT is called by 
DATABASE, a menu to allow se- 
lection of one of its many func- 
tions will be displayed. 

After a filename is given, the 
program causes the computer 
to search for the file. In a multi- 
ple drive system such as mine, 
drive is checked first, and if the 
file has not been found, drive 1 is 
checked. If the file is not found 
on either drive, then an error 
message is displayed. When the 
file is found, the first five rec- 
ords are read and some of the in- 
formation is displayed on the 
screen. The operator can then 
add data, delete, modify (edit), 
search and review the file en- 
tries as desired. The file is up- 
dated as each record is modi- 
fied or added. 

An auto delete function will 
allow deletion coding of all rec- 



ords in which the entries within 
a selected field are between up- 
per and lower limits as selected 
by the operator. This does save 
considerable time whenever a 
group of entries are to be de- 
leted. 

Note at this time that the rec- 
ords are only coded for deletion. 
When so coded, they will not be 
displayed, printed or used in 
other programs except SORT- 
FILE. Records coded for dele- 
tion, however, can have the cod- 
ing removed within the modify 
function of the MAINT program. 
The program was written this 
way because restacking the file 
(which removes the coded data) 
does take considerable time. 
This is something you may wish 
to do when you have it, or when 
you need the file space. 

The DELETE program has the 
responsibility for this function. 
DELETE is chained from MAINT 
and is considered part of the 
MAINT program. When the data 
has been deleted and the file re- 
stacked, any unused tracks are 
reallocated as open tracks. 

Options available in the pro- 
gram include transferring coded 
data to another file or just delet- 
ing the data. 

In the case of deleting to an- 
other file, the file parameters 
must be the same in both files; 
the only difference can be in the 
filename. For this reason, the 
utility routine in the CREATE 
program, which duplicates the 
file parameters, should be used. 
Coded records transferred to 
the file before deletion will be 
added in sequential order and in 
the order in which they are 
transferred. The main reason for 
transferring to another file is to 
allow deletion of data from ac- 
tive files and storage of this 
data for historical reference. 

Sorting 

The SORTFILE program is ca- 
pable of multiple-level sorting. 
This means that it has the capa- 
bility of sorting into major cate- 
gories and minor categories, 
each within the other. For in- 
stance, with a mailing list file 
you can first sort by state, then 
zip code within a state, town 
within a zip code and street 
within a town. 

When the program is called, it 



5 86 Microcomputing January 1980 



will request the primary sort 
field (which should be a major 
category) and the subsequent 
minor fields. Up to ten levels can 
be sorted in this fashion. Take 
care in choosing the primary 
field. If name is a primary field in 
a sort of many levels, there will 
be no apparent sort unless 
many John Smiths are in the file. 
Sorting takes time! The more 
levels selected, the more fields 
in the file, the more data to sort 
and the longer it takes. In my 
tests, 100 entries in a four field, 
two level sort took 7 1/2 minutes. 
Nine hundred entries in the 
same file took 1 1/2 hours. 

As sorting takes place the 
screen will show a descending 
progression of numbers. This is 
only to show the operation of 
the program and the progress of 
the sorting task. The closer to 
zero, the closer it is to comple- 
tion. 

When the file has been 
sorted, the locations of the 
sorted entries in the master file 
are located in an index file. The 
index file stores data in a dif- 
ferent format than do the data 
files. Index information for 1200 
file records can be stored in only 
three tracks of index file. In 
most cases, this will permit you 
to store a master file and one or 
several index files on a single 
disk. 

Up to 1160 data entries and 
one index file can be placed on a 
disk. The maximum number of 
data records allowable, using a 
full disk, can only be 121 1, so the 
sacrifice of 51 data entries may 
be warranted in keeping the files 
together. Don't worry about it! 

After sorting, if the program 
-tatofnrrrrras YrretB rs TitA enough 
space on the disk for the index 
file, it will advise the operator. A 
new index file can then be cre- 
ated within the program without 
the loss of the stored data. It is 
best to create (name) the index 
file before starting the sort, but 
it can be done the other way 
around. The index file can be lo- 
cated on another drive without 
hampering system operation. 

No data is changed in the 
sorting process, and the master 
file is not changed. Many index 
files can be made for the same 
master file depending upon the 
sorting requirements. 



Remember: All file data is 
considered in the sort. If data is 
added or deleted to or from the 
master file, the file will have to 
be resorted. If the data is modi- 
fied in one of the fields used in 
the sort, the file must be re- 
sorted. It is therefore best to 
make any changes before sort- 
ing. 

The Report Generator 

The REPORT and PRINTER 
programs produce the printed 
report in one of several different 
formats selected by the opera- 
tor. I used a kind of "salad bar" 
approach in that the report pa- 
rameters and features are all op- 
erator selected, mainly by an- 
swering yes- and no-type ques- 
tions. 

One of the pet peeves of a 
business executive is that he 
can't get the report he wants 
without waiting several weeks 
for priority in a data processing 
department. That has been ex- 
pressed to me upon several oc- 
casions at various trade meet- 
ings and seminars. A good case 
for the micro! 

It is unfortunate because in 
some large businesses that 
have large computers, large 
sums of money can be lost if the 
file information isn't available. 
The impact of the same problem 
on a small business can some- 
times be disastrous. 

Have no fear! I believe this ap- 
proach to getting the informa- 
tion from the files requires very 
little training and can be used by 
the person requiring the report 
without a problem and, I hope, 
without a loss. 

When REPORT is called, the 
file accessed and the parame- 
ters displayed, the operator is 
requested to enter the fields (by 
number) wanted in the report 
and in the desired sequence. 
Only the fields requested by the 
operator will be printed. If all 
fields are to be printed, just en- 
ter ALL, and the fields will be 
printed in file sequence. If the 
letter T is entered directly after 
the field number, when the field 
is an N or D field, the total 
amount for all entries with that 
field will be printed at the end of 
the report. 

The operator is then re- 
quested to select other options, 



mainly about the report head- 
ing. The field selection, options 
selected and fields selected for 
totals are normally retained in 
the file. After the report is 
printed, the operator can have 
this done by selecting the op- 
tion. This way, the information 
need not be entered again un- 
less there are changes. It is also 
possible to generate a report 
with a different setup without 
destroying the options already 
recorded in the file. 

After field and option selec- 
tion, the operator is asked to in- 
sert a new line width if different 
from the 132 character default 
assignment. This permits the 
use of different width paper 
without difficulty. 

If a name field is to be printed, 
the operator is asked if the first 
and last names are to be re- 
versed. Remember, they are last 
name first in the file. 

The final feature for selection 
is the determination of upper 
and lower limits for data in the 
report. The default of this option 
is to print all entries. Use of the 
limit feature permits the opera- 



tor to select a field to use for the 
control and to set the limits 
within that field. 

It is therefore a simple matter, 
for instance, to select a date 
billed field and print out only the 
entries with billing between 90 
and 120 days old, printing out 
the outstanding balance as 
well! This feature works along 
with the sort so the information 
is printed in sorted fashion and 
within the selected limits. 

The sorting and the limit rou- 
tines will work even though the 
fields used for either or both of 
them are not used in the report. 
As you can see, the flexibility of- 
fered to the operator is tremen- 
dous in that a report may be 
printed in a manner tailored for 
his needs. The versatility of the 
system is further demonstrated 
in the sample runs. To assist in 
demonstrating the system, I cre- 
ated a short file that resembles 
what might be considered the 
payroll data file for a small busi- 
ness. 

In Listing 1, the file is printed 
in its entirety alphabetically. 
Note that when the number of 



FILE FACTORY PAYROLL 
FILE CREATED 07/05/79 

NAME 

KEITH JONES 
EDWARD G. UYNN 
DANIEL J. HUDSON 
KAREN J. BROWNE 
ROGER SMITH 
GEORGE BROWN 
JUAN VALDEZ 
GEORGE ABBOTT 
GLADYS G. METZ 
JAMES C. JOHNSON 
LAWRENCE PASTERNACK 
MARYANN E. BROWN 
GERALD PETERSON 



FILE CODE 1 
FILE UPDATED 07/29/7? 

DATE HIRE 

05/12/66 
04/31/67 
04/04/69 
01/21/72 
05/06/73 
06/03/74 
05/12/75 
04/31/76 
05/13/76 
06/15/76 
07/07/77 
06/07/78 
09/21/78 



14 ENTRIES 



L is ting 3. Sen iority lis t. 



FILE FACTORY 


PAYROLL FILE CODE 1 


FILE CREATED 07/05/79 


FILE 


UPDATED 07/29/79 


DEPT 


HR/PAY 


LG 


DATE HIRE 


EMER PH 


103 


t 7.93 


12 


05/12/75 


335-6789 


103 


• 8.45 


13 


05/06/73 


234-5678 


105 


$ 5.25 


8 


07/07/77 


NONE 


105 


f 5*50 


9 


06/15/76 


444-5555 


111 


• 13.50 


23 


05/12/66 


222-1122 


112 


• 5.80 


10 


05/13/76 


662-4578 


116 


♦ 5.80 


10 


09/21/78 


555-3456 


123 


♦ 7.54 


12 


04/31/76 


132-1321 


123 


• 7.75 


12 


01/21/72 


333-3333 


123 


* 25.00 


23 


04/04/69 


355-6879 


124 


♦ 50.00 


41 


04/31/67 


666-9944 


245 


♦ 6.93 


11 


06/03/74 


343-3232 


300 


♦ 6.50 


11 


06/07/78 


123-9876 


TOTAL 


HR/PAY - * 




155.95 








Listing 4. Sort by department. 



14 ENTRIES 



Microcomputing January 1980 87 $ 



FILE FACTORY PAYROLL 


FILE CODE 1 




FILE CREATED 07/05/7? 




FILE UPDATED 07/29/79 


14 ENTRIES 


NAME 




DEPT 


EMER PH 




ABBOTT* GEOROE 




123 


132-1321 




BROUN f GEORGE 




245 


343-3232 




BROWN » MARY ANN E. 




300 


123-9876 




BROWNE* KAREN J* 




123 


333-3333 




HUDSON* DANIEL J. 




123 


355-6879 




JOHNSON* JAMES C. 




105 


444-5555 




JONES* KEITH 




111 


222-1122 




METZ* GLADYS G. 




112 


662-4578 




PASTERNACK* LAWRENCE 




105 


NONE 




PETERSON* GERALD 




116 


555-3456 




SMITH* ROGER 




103 


234-5678 




VALDEZ* JUAN 




103 


335-6789 




WYNN* EDWARD G. 




124 


666-9944 




Listing 5. 


Emergency phone number list. 





FILE FACTORY PAYROLL 


FILE CODE 1 




FILE CREATED 07/05/79 


FILE UPDATED 07/29/79 14 ENTRIES 


NAME 


EMER PH 


DEPT 


GEORGE ABBOTT 


132-1321 


123 


GEORGE BROWN 


343-3232 


245 


MARYANN E. BROWN 


123-9876 


300 


KAREN J* BROWNE 


333-3333 


123 


DANIEL J* HUDSON 


355-6879 


123 


JAMES C. JOHNSON 


444-5555 


105 


KEITH JONES 


222-1122 


111 


GLADYS G. METZ 


662-4578 


112 


LAWRENCE PASTERNACK 


NONE 


105 


GERALD PETERSON 


555-3456 


116 


ROGER SMITH 


234-5678 


103 


JUAN VALDEZ 


335-6789 


103 


EDWARD G. WYNN 


666-9944 


124 


Listing 6. Sequence of fields has been changed from Listing 5. 



columns exceeds the page 
length margin, the line is broken 
at the beginning of the next field 
and a new line is started with an 
offset of five characters. The off- 
set is provided to allow the read- 
er to align the column with the ti- 
tle when the report is read. This 
report was set for double spac- 
ing, which occurs after the line 
has been completed. Note also 
that the data is aligned with the 
first character of the title. This 
approach, rather than centering 
the title, seems to make it easier 
to read. 

Note that the total for the 
hourly pay (HR/PAY) field is 
printed at the bottom of the re- 
port. 

Column width is determined 
by a subroutine that determines 
the largest field size, title length 
or dollars as formatted. To this, 
two spaces that determine the 
spacing are added. 



Listing 2 is an address list 
sorted alphabetically by name; 
the first and last names have 
been reversed by the program. 

Listing 3 is a seniority list 
sorted by hire date. 

Listing 4 shows a sort by de- 
partment, LG (labor grade) and 
hourly pay. Note that the hire 
date and emergency phone are 
also printed. The hourly pay field 
is totaled. 

Listing 5 is an emergency 
phone number list for all em- 
ployees. The same alphabetical 
sort by name, as used in Listing 
2, is used here. 

Listing 6 is the same as List- 
ing 5, except the sequence of 
the fields is changed. 

The sample runs shown here 
are indicative of the type of re- 
port preferred by the business 
user, with the flexibility required 
by the home computer owner. 
However, the report you request 



is really limited only to what you 
desire, providing it is within the 
capabilities of the system. 

The Recovery Program 

The axiom regarding necessi- 
ty and invention applies fully to 
my development of the RECOV- 
ERY program. One stormy day, 
while I was entering data into 
my music catalog file, we experi- 
enced a power failure in the 
area. Although the power failure 
was momentary, it was of long 
enough duration to drop the 
data in RAM. I had started the 
day with about 100 entries in the 
file and had added about 600 
more. 

The MAINT program adds the 
data to the file as each entry is 
complete, but the end of file 
marker used by the disk system 
was never reset. In other words, 
only 100 records of the file could 
be accessed by the computer. 



The RECOVERY program per- 
mits the operator to move (or 
step) the end of file marker to 
the first incorrect (garbage or 
empty) record and reset the 
marker. When reading the data 
displayed by this program, keep 
in mind that the data isn't bro- 
ken down into fields. However, it 
is clear enough for the operator 
to recognize good data and 
make the end of file determina- 
tion. 

It is a good idea to make a 
backup copy of the file before 
working with it. It is always pos- 
sible to wipe out your data base 
due to a hardware or software 
fluke in the system. 

This completes the descrip- 
tion of the features and opera- 
tion of the data base manage- 
ment system. Next month, in 
part 2, we will begin examining 
the actual BASIC programs that 
comprise the system. ■ 



DD3D0D 



The Original Cassette Magazine for the 

ATARI® 

• IRIDIS is a cassette magazine of programs 
for the ATARI 400 and 800 personal com- 
puters. 

• Four excellent programs on a high quality 
C-30 cassette, ready to load and run. 

• Each issue has an animated "Front Cover" 
that will delight your eyes! 

• With each cassette you get IRIDIS Notes, 
a lively newsletter of information about 
the ATARI computer. 

• IRIDIS brings you fun and games, educa- 
tion, business programs and "software 
tools" that will help you enjoy your ATARI. 

□ 4 issues for $14.95 in US & Canada 

□ Sample copy $4.95 

Calif, residents add 6% tax. 
is I46 We Accept VISA and Mastercharge 

IRIDIS, Box 550, Goleta, CA 93017 

Programs for your ATARI® 



PET PERIPHERALS 

(FOR OTHER IEEE 468 BUS COMPUTERS. TOO) 

NEW - RS-232 INTERFACE: $229 

The TNW-2000 Bidirectional Serial Interface allows 
keyboard input as well as printer output The unit 
provides selectable automatic PET/ASCII character 
conversion, "throttled" output, baud rate adjustable 
from 1 1 to 9600 bits per second $229 price includes 
power supply, cabinet. PET/IEEE cable, built-in female 
EIA connector, full documentation (For software con- 
trollable RS-232 control lines, and multiple RS-232 
devices, TNW offers the TNW488/232 Serial Interface. 
Price is $335, includes power supply, cabinet, PET 
cable, full documentation.) 

MODEM 

The TNW488/103 Low Speed Modem is Bell 103 
compatible, provides auto originate/answer/dial capa- 
bilities 75 to 600 bits per second. Interfaces to phone 
system via DAA Price of $385 includes power supply, 
cabinet, cables to PET and DAA, full documentation and 
software. 




(The Net Works is now) 

TNW 



Corporation 



»^T56 



Ask your dealer or contact 
ASTRONICS • (714) 278 5441 
335 1 Hancock St. • San Diego CA 92 1 1 



TRS 80 CLEVEL H 

and Disk c Programs 

MULTIPLE REGRESSION 2.0— A disk based package of 
chained programs that permits model estimation using 
thousands of observations, user specified transforma- 
tions (write them in BASIC during execution). X-Y 
plots, formatted for screen or printer ♦ all features of 

Multiple Regression 1 .0 $45.00 

LEVEL II I6K PROGRAMS 

Multiple Regression 1 .0 $29.95 

Linear Programming $29.95 

0- 1 Programming $29.95 

Transportation Algorithm $29.95 

Heuristic Line Balancing $29.95 

Stat. Pack — median, mode, mean (avg.. harmonic, 
geometric), variance, histograms. Tests (T.X'.F). one 
variable regression, one and two-way ANOVA. . $9.95 

Differential equations — 6 methods $29.95 

Queuing Statistics $14.95 

Eigen Value/Eigen Vector $45.00 

LOWERCASE MOD— Includes excellent documentation 
♦ all parts (nothing else to buy), compatible with Elec- 
tric Pencil $14.95 

Documentation available at $5.00 per copy. 

kui\Mt m Disk idd !5 
S.C resident! idd 4*. s«les III 
Overs*** ofders idd {5 lw skipping 

uont 
Ljs t ems^ Q8 




p.o. box 628 

Charleston sc 

29402 



M 88 Microcomputing January 1980 



See and Copy 






use TRcopy 



«■■§ 

WITH YOUR LEVEL II TRS-80* 

TRcopy is a cassette tape copying system that lets 
you SEE what your computer is reading. 

COPY ANY CASSETTE TAPE** 

With the TRcopy system you can copy any TRS- 
80 Level II cassette tape whether it is coded in 
Basic or in machine language. You can also copy 
data created by programs and you can copy assem- 
bler listings. 

YOU CAN SEE THE DATA 

As the tape is being loaded, you can SEE the 
actual data byte-for-byte from the beginning to the 
end of the program. Up to 320 bytes are displayed 
at one time. ASCII characters are displayed on the 
first line and hexadecimal code is displayed on the 
following two lines. Data is displayed exactly as it 
is input including memory locations and check sums. 

IDENTIFY PROGRAMS 

With TRcopy you can identify programs on cas- 
sette tapes without written documentation because 
you can SEE the filename. If you forget to label a 
tape, you can use TRcopy to display the tape contents 
and identify the cassette. 

VERIFY CASSETTE TAPES 

With TRcopy you can verify both the original tape 
and the tape copies. You can make certain that your 
machine reads the original tape correctly and that it 
makes byte-for-byte copies. TRcopy also counts as 
it reads giving you the exact length of the data. 

MAKE BACKUPS FOR YOUR PROGRAMS 

Now you can make backup copies of your valuable 
programs. Many times a cassette that you make will 
load better than one that is mass produced. The 
original can then be kept as a backup in case the 
copy is damaged. 

MAKE COPIES OF YOUR SOFTWARE 

If you are in the software business you can use 
TRcopy to make tested copies of your programs for 
sales distribution. TRcopy produces machine lan- 
guage tapes that are more efficient than those pro- 
duced by the assembler itself. 

RECOVER FAULTY DATA 
With TRcopy you can experiment with the volume 
and level controls and you can SEE what the computer 
is reading — even if your computer will not read the 
data through normal read instructions! In this way it 
is possible to read and copy faulty tapes by adjusting 
the volume control until you SEE that the data is 
input properly. 

SIMPLE - FASCINATING - FUN 

TRcopy is not only a practical utility program.lt 
is also a fascinating graphics program that lets you 
SEE, for the first time, cassette data as your com- 
puter is reading it. And it's as simple as 1-2-3. 
Just load, verify and copy. You will now be able to 
use cassette tapes with confidence knowing that 
TRcopy is there when you need it. 

The TRcopy system is a machine language program 
with documentation explaining tape leaders, sync 
bytes, check sums and other formatting conventions. 
With the TRcopy system, you can SEE what you are 
doing! 



TRcopy System Including 
Cassette Tape and Documentation 



Q95 



Orders accompanied by money order N 

or cashier's check mailed same day. 

Orders paid by other check shipped in 14 days. No COD's. Return 

within 10 days (or a full refund if you are not satisfied. 

N.D Orders Add *TRS80 is a trademark "You cannot copy the 

3% Sales Tax. of the Tandy Corporation. TRcopy cassette 

ORDER FROM 

Data/Print 

DEPT KB. BOX 903, FARGO. ND 58107 






3 — 

° z 

o o 

*■ X 

E • 

• -o 

*• tl 



J I 

u s 

-o a. 

c E 

O k 

o 



*. o - 



i-.E ¥ 



a. ./> 
o •- 



CO 



S.E 

li 

* §• 

o 
•z. ° 

I o 



S.5 
o a- 

— « 

5 « 



o — . 

u o 

o c 

— o 

^ • 
I- 

« c 

E '" 



* 3 
E « 

a -c 
c 
>» 

* — 



.E °- o 

I *-s 

c 



>- 
</> 

>- 

a. 



+. o 
o - 

-o 2 



— 4> 

u a. 

e o 



-a « 
a. 
c o 
« a *■ 

S-°E 



• o « 
o * 5 



O 
>- 



2 i S 

1 M O 



^D50 



QUALITY 
BIMONTHLY 
COMPUTER 
SOFTWARE 



SINCE 1978 
ACROSS THE U.S.A 
AND IN OVER 
18 COUNTRIES 



I 




THE 

RECREATIONAL 

PROGRAMMER 



1 

tm 




May June 1979 



.4 /I 






\ 




THE 

RECREATIONAL 

PROGRAMMER 







tm 



January February 1979 




AMBUSH! 



$2.50 



• : .* -„ 7* V|IV 



'£ i/liA 



COMPUTER GRAPHING 



$2.50 



SUBSCRIBERS 

ENJOY THIS 

32 PAGE JOURNAL 

FULL OF NEW 

PROGRAMS 



STILL ONLY 

$12/ YEAR - U.S.A. 

$24/YEAR - FOREIGN 

AIRMAIL 



SUBSCRIBE 
NOW! 





THE 

RECREATIONAL 
PROGRAMMER 



tm 




September-October 1978 




CELESTIAL SIGHT REDUCTION 



S2.SO 



TOLL FREE 



SAME DAY 
SHIPMENT 



RECREAT.ONAL H P-O BOX 2571 

programmer ^E 1 Kalamazoo Ml 49 003 

YES! Send mine IMMEDIATELY to: 
Name 



Tl 



)03] 



Address 
City 



State 



Zip. 



O My check is enclosed. 

Bill my □ Mastercharge tt 

■ O Visa Expires 



u 



t^ Reader Service — see page 227 



Microcomputing January 1980 89 



Lance E. Rose 
COM LABS, Inc. 
PO Box 1082 
Kalispell MT 59901 



A Relocator 
for North Star BASIC 



See how many uses for this application you can locate in this article. 



Having had about a year's I think I can safely say that it is a 
experience working with convenient little unit. Both the 
the North Star minidisk system, hardware and software (DOS 



Relocator program. 



10 

20 

30 

40 

50 

60 

70 

80 

90 

100 

110 

120 

130 

140 

150 

160 

170 

180 

190 

200 

210 

220 

230 

240 

250 

260 

270 

280 

290 

300 

310 

320 

330 

340 

350 

360 

370 

380 

390 

400 

410 

420 

430 

440 

450 

460 

470 

480 

490 

500 

510 

520 

530 

540 

550 

560 

570 

580 

590 

600 



RELOCATOR FOR NORTH 
WRITTEN BY LANCE E. 



STAR BASIC, 
ROSE, 4/79 



REL. 



,Q$ 



REM 

REM 

REM 

REM FIND OUT IF 8 OR 14 DIGIT VERSION 

PRINT 

INPUT "8-DIGIT OR 14-DIGIT? ",Q$ 

IF Q$ = "" THEN B=8 

IF Q$="8 M THEN B=8 

IF Q$="14" THEN B=14 

IF B=0 THEN 60 

REM GET DRIVE NUMBER TO GET STANDARD BASIC FROM 

PRINT 

INPUT "DRIVE NUMBER FOR STANDARD BASIC: ' 

IF Q$="" THEN Dl=l 

IF Q$="l" THEN Dl=l 

IF Q$="2" THEN Dl=2 

IF Q$="3 H THEN Dl=3 

IF D1=0 THEN 130 

REM GET DRIVE NUMBER TO PUT NEW BASIC ON 

PRINT 

INPUT "DRIVE NUMBER 

IF Q$="" THEN D2=l 

IF Q$="l" THEN D2=l 

IF Q$="2" THEN D2=2 

IF Q$="3" THEN D2=3 

IF D2=0 THEN 210 

REM GET STARTING ADDRESS 



FOR RELOCATED BASIC 



,0$ 



FOR NEW BASIC 



"STARTING ADDRESS FOR 
"" THEN Nl=10752 ELSE 



RELOCATED BASIC (HEX) 
GOSUB 3700 



,0$ 



,Q$ 



PRINT 

INPUT 

IF Q$=' 

IF Nl>51712 THEN 290 

N=N1 

O=N-10752 

REM GET ADDRESS FOR DOS USED FOR BASIC'S I/O 

PRINT 

INPUT "STARTING ADDRESS FOR DOS TO BE USED(HEX) 

IF 0$="" THEN Nl=8192 ELSE GOSUB 3700 

IF Nl>60416 THEN 360 

REM OPEN THE STANDARD BASIC FILE 

IF B=8 THEN T$="BASIC," ELSE T$="BASIC 14 , " 

T$=T$+CHR$ (48+D1) 

OPEN #0%1,T$,L 

REM GENERATE NAME BASED ON LOCATION OF NEW BASIC 

T1=N 

T$ = " " 

FOR 1=1 TO 4 

T = INT(T1/16~ (4-1) ) 

T1=T1-16~ (4-1 )*T 

IF T<10 THEN T$ (I , I)=CHR$ (48+T) ELSE T$ (I , I ) =CHR$ (5 5+T ) 

NEXT I 

IF B=8 THEN T$="B08-"+T$ ELSE T$="B14-"+T$ 

T$=T$+" ,"+CHR$ (48+D2) 

REM IF NEW BASIC FILE EXISTS, DESTROY AND MAKE NEW ONE 

IF FILE(T$)<>-1 THEN DESTROY T$ 

CREATE T$, L,0 

OPEN #1%0,T$ 

REM INITIALIZE MEMORY POINTER 

M=10752 

REM RELOCATION SECTION - CALLS APPROPRIATE SUBROUTINES 

REM FOR DIFFERENT SECTIONS 



and BASIC) provided seem to be 
reasonably well thought out and 
work together satisfactorily. 
Even though I've since acquired 
a second drive and some more 
sophisticated software, I still 
find myself reaching for the 
North Star BASIC/DOS combi- 
nation when I want to write a 
quick and dirty program, be- 
cause I can start writing in just 
about nothing flat. 

The system has a certain sim- 
plicity that I find attractive, even 
though the file-managing capa- 
bilities aren't quite as conve- 
nient as, say, the version of 
CP/M for minifloppy systems. 
Still, I think most owners will 
agree that they now have their 
hands on quite a nice, cost- 
effective system, especially 
when they stop to consider that 
most of us who bought such a 
system were able to retire older, 
less convenient cassette or 
paper tape systems. 

Lest I be accused of writing 
an ad for North Star, I think it's 
only fair to say that I think they 
did miss the point on a couple of 
matters when they designed 
their software. One of my nag- 
ging questions has always 
been: "Why on earth did they 
start the standard DOS at 2000H 
instead of something more logi- 
cal (0000H)?" 

I'm sure I'm not alone in say- 
ing that it can cause some in- 
convenience, especially if 
you're running a different sys- 
tem part of the time and want 



your memory to start at 0000H, 
whereas with North Star BASIC 
you gain the most space for pro- 
grams if your memory is ad- 
dressed starting at 2000 H. 

Although I've lived quite nice- 
ly with this for a year or so, the 
idea struck me recently that it 
might be nice to be able to relo- 
cate the system to take better 
advantage of the available mem- 
ory and not have to be constant- 
ly readdressing memory boards. 
Of course, you can purchase a 
custom version of either DOS or 
BASIC from North Star for your 
own special configuration, but 
this requires a minor capital 
outlay. Besides, with a relocator 
of your own you could create as 
many different versions as you 
had a use for at no expense or 
inconvenience . . . and perhaps 
have some fun doing it. 

Relocation 

To digress for a moment into 
the principles involved in mov- 
ing a language such as BASIC 
from one part of memory to an- 
other The primary obstacle when 
dealing with any software writ- 
ten for the 8080 is the lack of any 
indexed or relative addressing 
scheme. This means that a pro- 
gram must reside in a particular 
part of memory to run correctly. 
If it is moved without changes to 
somewhere else and then exe- 
cuted, all bets are off. And if you 
have a memory-mapped video 
as I do, you'll probably see all 
sorts of funny patterns sudden- 



90 Microcomputing January 1980 



ly appear on the screen, signify- 
ing a software explosion. 

The way around this, of 
course, is to change all the in- 
structions that reference a 
memory location so that they 
reference a new location offset 
by a fixed amount from the origi- 
nal one. If you have a source pro- 
gram and an assembler, this can 
be done by simply changing the 
ORG statement at the begin- 
ning. 

Unfortunately, with very few 
exceptions, nobody these days 
is interested in providing source 
listings for anything as complex 
as a BASIC or other high-level 
language. The reasons for this 
have been argued back and 
forth for years without resolu- 
tion, but that's what we're stuck 
with for now. 

So, if no source listing is avail- 
able, what do you do? The an- 
swer is you create one. This is 
easier said than done for a lan- 
guage as long as BASIC where 
the source can easily run 
4000-5000 lines. Still, we have 
to begin somewhere; since I 
have a home-brew disassembler 
that provides cross-referenced 
listings, that's just what I did. 

Even though the above step 
seems to be a tough one, the 
most difficult part still remains: 
the examination and identifica- 
tion of each part of the program 
to see whether it consists of in- 
structions or data. If the pro- 
gram consists of instructions, 
you must identify those instruc- 
tions that reference memory 
locations that must be changed 
and those that ought to be left 
alone. 

With program data there is a 
similar problem in that many ta- 
bles contain a sequence of 
2-byte addresses referencing 
the different locations where 
your favorite commands and 
functions live (READ, GOTO, 
SIN, etc.), whereas other data 
areas are only ASCII strings of 
error messages or floating point 
representations such as pi. The 
latter should be left alone, 
whereas the former need to have 
an offset applied to them so that 
they will run properly. 

With this last bit of informa- 
tion, you can generate a new 
BASIC by simply applying the 
proper offset to the parts of the 



program that need it. One way to 
do this is to somehow write the 
source listing to a disk file and 
then reassemble it. 

However, knowing which 
areas need special treatment, 
you can bypass the assembly 
process and simply add the re- 
quired offset where necessary. 
This can be done in machine lan- 
guage and would probably run 
the fastest that way, but it can 
also be done in BASIC using the 
file-accessing commands avail- 
able to take a copy of standard 
BASIC located on a disk, pro- 
cess it a little at a time in memo- 
ry and write the relocated BASIC 
to a new disk file. When you are 
finished, this new file can be run 
as BASIC at a new location in 
memory and use either the 
standard DOS or another DOS 
that can also be relocated using 
a similar procedure. 

The Program 

The program to relocate BA- 
SIC is really quite simple. It is al- 
so quite long because each time 
a break occurs in the type of 
code being relocated, a new 
value must be assigned to M1, 
and a call to a subroutine must 
be made. Loading and execut- 
ing the program is direct and to 
the point. When the program is 
run, you will see that it asks for 
some information with prompts. 
Each time a prompt is printed 
you can type a carriage return, 
and the program will default to 
certain values. For the number 
of digits, the default is 8; for the 
disk drives, it is drive #1; for the 
starting address of BASIC, it is 
2A00H; and for the DOS, it is 
2000H. 

I've tried to make it impossi- 
ble (or at least difficult) to enter 
parameters that wouldn't make 
sense, but it pays to show a little 
caution anyway. Once the pro- 
gram begins running, you might 
as well go get yourself a cup of 
coffee— or an entire meal if de- 
sired. It takes about 30 minutes 
to churn through the file. 

Certain prerequisites are nec- 
essary before running. The stan- 
dard BASIC must be in a Type 1 
file called "BASIC" for the 
8-digit version, or "BASIC14" for 
the extended precision version. 
Also, the BASIC must be Re- 
lease 4 for the program to work. 



610 Ml=10766 


1690 


GOSUB 4350 




620 GOSUB 3930 


1700 


0=01 




630 Ml=10769 


1710 


Ml=15205 




640 GOSUB 4290 


1720 


GOSUB 4350 




650 GOSUB 4350 


1730 


Ml=15620 




660 GOSUB 4290 


1740 


GOSUB 4290 




670 GOSUB 3930 


1750 


FOR 1=1 TO 8 




680 Ml=10777 


1760 


GOSUB 4290 




690 GOSUB 4290 


1770 


GOSUB 4350 




700 Ml=10988 


1780 


NEXT I 




710 GOSUB 3880 


1790 


Ml=15648 




720 Ml=11256 


1800 


GOSUB 4290 




730 GOSUB 3880 


1810 


GOSUB 4350 




740 Ml=11421 


1820 


FOR 1=1 TO 22 




750 GOSUB 3930 


1830 


GOSUB 4290 




760 Ml=11707 


1840 


GOSUB 4350 




770 GOSUB 4290 


1850 


NEXT I 




780 Ml=12040 


1860 


Ml=15792 




790 GOSUB 3880 


1870 


GOSUB 3880 




800 Ml=12118 


1880 


Ml=16061 




810 GOSUB 3880 


1890 


GOSUB 3880 




820 Ml=12153 


1900 


Ml=16116 




830 GOSUB 3800 


1910 


GOSUB 3800 




840 Ml=12199 


1920 


Ml=16131 




850 GOSUB 3800 


1930 


GOSUB 3880 




860 Ml=12216 


1940 


Ml=16155 




870 GOSUB 3800 


1950 


GOSUB 3880 




880 Ml=12278 


1960 


Ml=16178 




890 GOSUB 3880 


1970 


GOSUB 3930 




900 Ml=12291 


1980 


IF B=14 THEN M=M- 


-12 


910 GOSUB 3800 


1990 


Ml=16198 




920 Ml=12311 


2000 


GOSUB 4290 




930 GOSUB 3880 


2010 


Ml=16300 




940 Ml=12319 


2020 


GOSUB 3930 




950 GOSUB 3800 


2030 


IF B=14 THEN M=M- 


-6 


960 Ml=12324 


2040 


Ml=16310 




970 GOSUB 3800 


2050 


GOSUB 4290 




980 Ml=12329 


2060 


Ml=16446 




990 GOSUB 3800 


2070 


GOSUB 3880 




1000 Ml=12350 


2080 


Ml=16507 




1010 GOSUB 3800 


2090 


GOSUB 3880 




1020 Ml=12390 


2100 


Ml=16514 




1030 GOSUB 3800 


2110 


GOSUB 3930 




1040 Ml=12402 


2120 


IF B=14 THEN M=M- 


-3 


1050 GOSUB 3800 


2130 


Ml=16519 




1060 Ml=12437 


2140 


GOSUB 4290 




1070 GOSUB 3800 


2150 


Ml=16538 




1080 Ml=12481 


2160 


GOSUB 3880 




1090 GOSUB 3800 


2170 


Ml=16561 




1100 Ml=12496 


2180 


GOSUB 3880 




1110 GOSUB 3800 


2190 


Ml=16672 




1120 GOSUB 3900 


2200 


GOSUB 3880 




1130 Ml=12519 


2210 


Ml=16683 




1140 GOSUB 3880 


2220 


GOSUB 3880 




1150 Ml=12565 


2230 


Ml=16696 




1160 GOSUB 3880 


2240 


GOSUB 3800 




1170 Ml=12671 


2250 


Ml=16763 




1180 GOSUB 3800 


2260 


GOSUB 3880 




1190 Ml=12814 


2270 


Ml=16795 




1200 GOSUB 3880 


2280 


GOSUB 3880 




1210 Ml=13065 


2290 


Ml=16819 




1220 GOSUB 3880 


2300 


GOSUB 3880 




1230 Ml=13098 


2310 


Ml=16828 




1240 GOSUB 3880 


2320 


GOSUB 3880 




1250 Ml«13134 


2330 


Ml=16836 




1260 GOSUB 3880 


2340 


GOSUB 3880 




1270 Ml=13278 


2350 


Ml=16882 




1280 GOSUB 3880 


2360 


GOSUB 3880 




1290 Ml=13319 


2370 


Ml=16903 




1300 GOSUB 3880 


2380 


GOSUB 3880 




1310 Ml=13387 


2390 


Ml=16959 




1320 GOSUB 3880 


2400 


GOSUB 3880 




1330 Ml=13406 


2410 


Ml=16968 




1340 GOSUB 3880 


2420 


GOSUB 3880 




1350 Ml=13434 


2430 


Ml=17253 




1360 GOSUB 3880 


2440 


GOSUB 3880 




1370 Ml=13676 


2450 


Ml=17307 




1380 GOSUB 3880 


2460 


GOSUB 3880 




1390 Ml=13747 


2470 


Ml=17381 




1400 GOSUB 3880 


2480 


GOSUB 3880 




1410 Ml=13807 


2490 


Ml=17395 




1420 GOSUB 3880 


2500 


GOSUB 3880 




1430 Ml=14027 


2510 


Ml=17419 




1440 GOSUB 3880 


2520 


GOSUB 3880 




1450 Ml=14040 


2530 


Ml-17694 




1460 GOSUB 3880 


2540 


GOSUB 3880 




1470 Ml=14103 


2550 


Ml=17744 




1480 GOSUB 3880 


2560 


GOSUB 3880 




1490 Ml=14158 


2570 


Ml=17831 




1500 GOSUB 3880 


2580 


GOSUB 3880 




1510 Ml=14656 


2590 


Ml=17855 




1520 GOSUB 3930 


2600 


GOSUB 3880 




1530 Ml=14677 


2610 


Ml=17920 




1540 GOSUB 4290 


2620 


GOSUB 3880 




1550 Ml=14825 


2630 


Ml=17933 




1560 GOSUB 3930 


2640 


GOSUB 3880 




1570 0=-0 


2650 


Ml=18101 




1580 GOSUB 3930 


2660 


GOSUB 3880 




1590 0=-0 


2670 


Ml=18105 




1600 Ml=15056 


2680 


GOSUB 3880 




1610 GOSUB 3930 


2690 


Ml=18219 




1620 IF B=14 THEN M=M-3 


2700 


GOSUB 3880 




1630 Ml=15109 


2710 


Ml=18237 




1640 GOSUB 4290 


2720 


GOSUB 3930 




1650 Ml=15131 


2730 


IF B=14 THEN M=M- 


-3 


1660 GOSUB 4350 


2740 


Ml=18242 




1670 01=0 


2750 


GOSUB 4290 




1680 0=N1-8192 


2760 


Ml=18327 





I 



Microcomputing January 1980 91 



2770 GOSUB 3880 


3600 Ml=23269 


2780 Ml=18356 


3610 GOSUB 4290 


2790 GOSUB 3880 


3620 Ml=23387 


2800 Ml=18422 


3630 GOSUB 3930 


2810 GOSUB 3880 


3640 IF B=14 THEN M=M-70 


2820 Ml=18428 


3650 Ml=23552 


2830 GOSUB 3880 


3660 GOSUB 4290 


2840 Ml=18434 


3670 PRINT 


2850 GOSUB 3880 


3680 END 


2860 Ml=18440 


3690 REM SUBROUTINE TO CONVERT FROM HEX STRING TO DECIMAL 


2870 GOSUB 3880 


3700 N1=0 


2880 Ml=18446 


3710 FOR 1=1 TO LEN(Q$) 


2890 GOSUB 3880 


3720 Q=ASC(Q$ (1,1) )-48 


2900 Ml=18485 


3730 IF Q>=0 AND Q<=9 THEN 3760 


2910 GOSUB 3800 


3740 Q=Q-7 


2920 Ml=18838 


3750 IF Q<10 OR Q>15 THEN Nl=10000 


2930 GOSUB 3800 


3760 N1=16*N1+Q 


2940 Ml=18889 


3770 NEXT I 


2950 GOSUB 3800 


3780 RETURN 


2960 Ml=19157 


3790 REM SUBROUTINE TO HANDLE DOS REFERENCES 


2970 GOSUB 3880 


3800 GOSUB 3930 


2980 Ml=19202 


3810 01=0 


2990 GOSUB 3880 


3820 0=N1-8192 


3000 Ml=19528 


3830 GOSUB 3930 


3010 GOSUB 3880 


3840 0=01 


3020 Ml=19680 


3850 RETURN 


3030 GOSUB 3880 


3860 REM SUBROUTINE TO RELOCATE INSTRUCTIONS FOLLOWED BY A 


3040 Ml=20183 


3870 REM 3-BYTE FIXED INSTRUCTION 


3050 GOSUB 3880 


3880 GOSUB 3930 


3060 Ml=20928 


3890 REM SUBROUTINE TO HANDLE 3-BYTE FIXED INSTRUCTIONS 


3070 GOSUB 3880 


3900 Q$="H" 


3080 Ml=20972 


3910 GOTO 3940 


3090 GOSUB 3880 


3920 REM SUBROUTINE FOR NORMAL INSTRUCTIONS 


3100 Ml=21052 


3930 Q$="L" 


3110 GOSUB 3880 


3940 READ #0,&X 


3120 Ml=21115 


3950 WRITE #1,&X,N0ENDMARK 


3130 GOSUB 3880 


3960 M=M+1 


3140 Ml=21273 


3970 REM FIND 3-BYTE INSTRUCTIONS 


3150 GOSUB 3880 


3980 IF X=195 OR X=205 THEN 4200 


3160 Ml=21311 


3990 IF X=l OR X=17 OR X=33 OR X=4 9 THEN 4200 


3170 GOSUB 3800 


4000 IF X=34 OR X=42 OR X=50 OR X=58 THEN 4200 


3180 Ml=21344 


4010 IF X=194 OR X=196 OR X=202 OR X=204 THEN 4200 


3190 GOSUB 3880 


4020 IF X=210 OR X=212 OR X=218 OR X=220 THEN 4200 


3200 Ml=21412 


4030 IF X=226 OR X=228 OR X=234 OR X=236 THEN 4200 


3210 GOSUB 3880 


4040 IF X=242 OR X=244 OR X=250 OR X=252 THEN 4200 


3220 Ml=21440 


4050 REM FIND 2-BYTE INSTRUCTIONS 


3230 GOSUB 3880 


4060 IF X=211 OR X=219 THEN 4150 


3240 Ml=21472 


4070 IF X=6 OR X=14 OR X=22 OR X=30 THEN 4150 


3250 GOSUB 3880 


4080 IF X=38 OR X=46 OR X=54 OR X=62 THEN 4150 


3260 Ml=21519 


4090 IF X=198 OR X=206 OR X=214 OR X=222 THEN 4150 


3270 GOSUB 3800 


4100 IF X=230 OR X=238 OR X=246 OR X=254 THEN 4150 


3280 Ml=21560 


4110 REM ALL INSTRUCTIONS LEFT ARE 1 BYTE 


3290 GOSUB 3880 


4120 IF M<M1 THEN 3930 


3300 Ml=21581 


4130 RETURN 


3310 GOSUB 3880 


4140 REM 2-BYTE INSTRUCTIONS 


3320 Ml=21604 


4150 READ #0,&X 


3330 GOSUB 3880 


4160 WRITE #1,&X,N0ENDMARK 


3340 Ml=21642 


4170 M=M+1 


3350 GOSUB 3880 


4180 GOTO 4120 


3360 Ml=21657 


4190 REM 3-BYTE INSTRUCTIONS 


3370 GOSUB 3880 


4200 READ #0,&Y,&X 


3380 Ml=21674 


4210 IF Q$="H" THEN 4250 


3390 GOSUB 3800 


4220 Y=256*X+Y+0 


3400 Ml=21680 


4230 X=INT(Y/256) 


3410 GOSUB 3800 


4240 Y=Y-256*X 


3420 Ml=21684 


4250 WRITE #1,&Y,&X,N0ENDMARK 


3430 GOSUB 3930 


4260 M=M+2 


3440 IF B=14 THEN M=M-27 


4270 GOTO 4120 


3450 Ml=22450 


4280 REM SUBROUTINE TO HANDLE BYTE DATA 


3460 GOSUB 4290 


4290 READ #0,&X 


3470 Ml=22733 


4300 WRITE #1,&X,N0ENDMARK 


3480 GOSUB 3930 


4310 M=M+1 


3490 IF B=14 THEN M=M-38 


4320 IF M<M1 THEN 4290 


3500 Ml=22783 


4 330 RETURN 


3510 GOSUB 4290 


4340 REM SUBROUTINE TO HANDLE WORD DATA 


3520 Ml=22968 


4350 READ #0,&Y,&X 


3530 GOSUB 3930 


4360 Y=256*X+Y+0 


3540 IF B=14 THEN M=M-46 


4370 X=INT(Y/256) 


3550 Ml=23018 


4380 Y=Y-256*X 


3560 GOSUB 4290 


4390 WRITE #1,&Y,&X,N0ENDMARK 


3570 Ml=23229 


4400 M=M+2 


3580 GOSUB 3930 


4410 IF M<M1 THEN 4350 


3590 IF B=14 THEN M=M-48 


4420 RETURN 



The result of the program is a 
file of the same length as the 
standard version, and with a 
name that includes the starting 
address in it. The naming for- 
mat is Bpp-xxxx, where pp is the 
number of digits of precision (8 
or 14) and xxxx is the hexa- 
decimal starting address. 

After completion, you must 
assign the file a type of 1 and 
give it a go-address (which will, 
of course, be the same address 



as that included in the name) 
from DOS; there just isn't any 
convenient way to assign a go- 
address from BASIC. Once this 
is done you're ready to test it 
by typing GO B08-3400 (for ex- 
ample). BASIC should load and 
give its READY prompt. You can 
then use MEMSET, if desired, to 
allow more space for your pro- 
grams commensurate with how 
much memory you have avail- 
able. Any programs written in 



standard BASIC should be com- 
patible with relocated versions 
of same. 

Many people don't realize 
that programs written in the 
8-digit version can be run in the 
14-digit version and vice versa, 
but with a loss of precision. This 
does not hold true of data files, 
however, so don't try it for those. 

Uses 

I can think of several uses off- 



hand. One is to create a version 
of BASIC that can be run at 
3400H. The rationale behind this 
is that if while you're program- 
ming, you suddenly run out of 
disk space but have room on the 
lower disk tracks, you have to 
run COMPACT to open up some 
space on the disk. Unfortunate- 
ly, when this happens it uses a 
scratch area of ten blocks im- 
mediately following the DOS to 
move files around. So, unless 
you have yet another disk with 
space on it to save your BASIC 
program while COMPACT writes 
all over the first part of BASIC, 
you're out of luck. 

By putting BASIC at 3400H 
you can run COMPACT (or use 
the IN or DT commands in DOS) 
without disturbing BASIC or its 
program. Then you can reenter 
BASIC from DOS and save the 
program you've been working so 
hard on before it evaporates. Of 
course, you have to give up 
about 2.5K of memory in BASIC 
to do this, but these days memo- 
ry seems to be becoming more 
plentiful and less expensive, 
and it need not be all that much 
of a problem. 

Another application is to relo- 
cate both the DOS and BASIC to 
run at the beginning of memory, 
say with the DOS at OOOOH and 
BASIC immediately thereafter 
(either with or without the ten- 
block scratch area in between). 
There are commercial programs 
available for moving the DOS, so 
I won't discuss it here— except 
to say you might want to try it 
yourself to keep you out of trou- 
ble on those rainy or snowy 
afternoons. With a setup like 
this, there's no more fiddling 
with DIP switches to change 
those memory board addresses 
when going from CP/M to North 
Star and back. 

If you're really handy at patch- 
ing, you can write some short 
routines to use the CP/M I/O 
drivers with North Star BASIC. 
The file-accessing patches are 
much harder, but possible. With 
just the I/O though, you can call 
BASIC as a CP/M COM file and 
at least write and run programs 
even if you can't save them. A 
version of BASIC relocated to 
0100H is the heart of this partic- 
ular application. ■ 



92 Microcomputing January 1980 




If you're serious about your TRS-80 computer, try these disk based 
programs. When it comes to hardcore software, noboby does it like TBS. 

BUSINESS MAIL SYSTEM by Dale Kuber is designed for large- 
scale business users. Requiring 32K, two disks and printer, this 
program will store up to 150,000 names in a single file spread 
out over multiple disks. Each data disk holds 500 names. After data 
entry, BMS automatically sorts the data by zip code and alphabetical 
order within the zip code. The program tells you when and which data disk 
to insert, expanding your files automatically until you've reached 300 
disks. Data is input directly onto formatted screen display with the option 
to use Company Name/Attention instead of Last Name/First Name. Three 
numeric and one alpha code fields are provided to help you use the search 
and printout mode. BUSINESS MAIL SYSTEM allows you to program 
the number and spacing of your labels and then print out and read your 
data disks concurrently using accelerated printing. (This mode works only 
with Centronics printers.) With more features than can be described here, 
this high-powered program sells for $125.00. 

ANALYSIS PAD by Del Jones is the epitome of first-class programming 
in business applications. Requiring 48K, and one disk with a printer 
recommended, this columnar calculator gives the user tremendous flexibil- 
ity to tate w.ttj mWvag tte usev to create 30 or more columns and rows. 
Enter your own column and row labels. Enter your data by row or column 
or directly onto screen display via edit mode. Move, swap, delete, and add 
rows or columns. Create new pads by stripping relevant data from old files. 
You never have to key in data twice. But more important than the powerful 
data manipulation provided, you can add, subtract, multiply and divide one 
column by another and put results in another column. You can perform up 
to six calculations on one column and even define one column to be a 
constant. The calculation routine you create can be saved and reused. 
Print out the entire pad in four column segments to line or serial printer. 
ANALYSIS PAD was originally advertised for 32K tape at $32.50. Since 
then it has been totally rewritten and expanded to its present 48K disk 
only form and sells for $49.50. It is easily worth twice as much. You have 
to see it to believe it. 

DATA MANAGER by Dale Kubler starts out where INFORMATION 
SYSTEM leaves off. Requiring 32K and one disk, it accepts up to ten 
user-defined fields with up to forty characters per field and 255 characters 
per record. As with all TBS software, data entry and editing is professional 
and simple to use. What makes this program stand apart from "in-mem" 
data managers is that it uses up to four disks on line as memory, or as 
much as 320K of memory storage. Because disk sorts take more time than 
in-mem sorts, DATA MANAGER enables the user to create and maintain 



up to 5 "key" sort files for quick access of data. A utility program is pro- 
vided to calculate the number of records possible since the amount of 
records you can maintain is dependent on a number of variables. This pro- 
gram also supports the upper/lower case modification, and printouts can 
be programmed to almost any format and sent to line or serial printer. For 
Centronic printers, accelerated printing is provided enabling the computer 
to search and print at the same time. If you already have INFORMATION 
SYSTEM, DATA MANGER will accept those files. (We are currently work- 
ing on a program that will merge your data files with Electric Pencil files.) 
A necessity for organized people, this program sells for $49.50. 

CHECK REGISTER ACCOUNTING SYSTEM, adapted for the 
TRS-80 by Dale Kubler and originally written by O.E. Dial, is the most 
comprehensive check-balancing program written. Requiring 32K,two disks 
and printer, this program does much more than just balance and reconcile 
your checkbook. It enables you to define up to 60 account names and will 
generate monthly summaries of all accounts with monthly and year-to-date 
totals. Single-entry input allows the user to disperse one transaction over 
several accounts and to make a 64-character note on each transaction. 
Checks can be printed out after data has been entered. Aside from the 
Statement of Accounts, CRAS also generates the following reports: Check 
Register for any Month, Notes to Check Register, Income/Expense Distribu- 
tion, Statement of Selected Accounts, Bank Reconcile Statement and 
Suspense File. The Suspense file is an extra feature where you can make 
notes to yourself for any month in the year. CRAS will make both you and 
your accountant happy and it sells for $49.50. 

TBS has other great software for your TRS-80. BASIC TOOLKIT, 
SYSTEM DOCTOR & TERMINAL CONTROL are system utilities 
CHECKBOOK II, INFORMATION SYSTEM & EXERCISER are general 
applications. Don't forget the LIBRARY 100; 100 programs for only 
$49 50 TBS also has DISK HEAD CLEANERS for TRS 80 and APPLE 
and GRAN MASTER DISKETTES, the best on the market. 

TBS is YOUR COMPANY, and to you we pledge to produce quality 
software at a price you can afford. The above products are avaiable NOW 
at Computer Stores and Associate Radio Shack Stores nationwide or 
directly through us. For direct mail please include $2.00 for postage and 
handling. 



*^B33 




THE BOTTOM SHELF, MC. 

Atlanta. GA 30359 



(404)939-6031 • P.O Box 49104-K 



v* Reader Service— see page 227 



Microcomputing January 1980 93 



Bonaventura Paturzo 
1929 Trudie Drive 
San Pedro CA 90732 



Synertek's SYM-1: 

Still Versatile 



The 'nym's new, but the SYM's still the same good old VIM. 



About 1 1 /z years ago, Syner- 
tek Systems Corp. (PO Box 
552, Santa Clara CA 95052) intro- 
duced their Versatile Interface 
Module (VIM). It's now called the 



SYM-1, but the versatile is still 
included. It uses a 6502 micro- 
processor that makes the SYM-1 
a cousin of the KIM-1. The 
SYM-1 includes an excellent 4K 



system monitor (in ROM), and 
the on-board 28-key keypad 
(along with a 6-digit hex format 
display) will get you started right 
away into machine-language 



programming (see Fig. 1). 

SYM-1 Features 

Before going into more detail 
on the features of the system 



TV 



AUDIO 
CASSETTE 



TTY 



RESIDENT 
ASSEMBLER 








TEXT 
EDITOR 


SYM-I BASIC 




SYN 2316/ 2332 










ROM 


PROM; 

SYN ?7I6 










Tl 2! 


>32 



SRAM 

EXPANSION KIT 

SYN 2114's IKx4 



RF ADAPTER 



APPLICATIONSPORT 



KBD 

ALPHA 

NUMERIC 



TV/ KBD 

INTERFACE 

MODULE 



/////(.AiiDiO 7, 
CASSETTE)' 



AUX APPLICATIONS CONNECTOR 



OPTIONAL AUX PORT A 

OPTIONAL AUX PORT B 
* I AUX PORT A 




WM 



AUDIO CASSETTE 



TTY 



CRT 



AUX PORT B 



TV/KBD 
INT'FCE 
C'NCTR 



M% 




OSCILLOSCOPE 
SINGLE -LINE 
DISPLAY 




'// folium 

'/ 7 AUDIO 




> TELETYPE 
INTERFACE 



mm 



REMOTE 
INTERFACE 

zz 



I / f I//71 



CRT 
NTERFACE 



w>, 





SORT PWR / EXPANSIONPORT / 

7/[\ .„ \ I/I//////////// Y N *X/ ////t SRAM EXP ™S.ON //////.'// 



4K x 8 ROM 
RESIDENT 

MONITOR 



24 K 

EXPANSION 
ROM /PROM 




zzzzzzzzzzzz 






hmTTm lb p//Ml« 




6522 

EXPANSION 
SOCKET (TIMER) 



'///////////////////, 




'fo/n/rws/Tm/rW/. 



mm 



IMHz / 
XTAL ft 



ADDRESS BUS A00-AI5 



a 



;i 




ADDRESS BUS AOQ-AI5 

vw////////w/////////f////n v/////////n Va 

I 



PORT 
EXPANSION 

KIT 




6522 

VIA 
(TIMER) 



'////F/W//7M/////////A W/////M w n™« 



w/MM/ffl//Wii//n)iiA V/IM//////M 



ADDRESS BUS AOO-AI5 



7///W///W/7777T. 

I/O BUFFERS 

y//////////////77 



CONTROL BUS 



W mWMMMk 









6532 
RAM 



AUURC93 DU9 HUU'HlJ > 

unmm mnznrmnmM 



DATA BUS DOO-D07 




CONTROL 
LOGIC 




CONTROL BUS 



B B B BBB 



DISPLAY DRIVERS 




28 KEY 
KEYPAD 



7//////////////////M 




4 I/O BUFFERS 



*SMIOO OEM MODEL CONTAINS KEYBOARD DISPLAY /TONE GENERATOR 



6 DIGIT HEX 
DISPLAY 



Fig. 1. Block diagram of the SYM-1 board (reprinted courtesy of Synertek Systems Corp.). 



94 Microcomputing January 1980 



monitor, let me skim over some 
of the SYM-1 's features. The 
board comes with 1K of 2114- 
type RAM and is expandable 
(on-board) to a healthy 4K worth 
of RAM. In addition to this, 
decoding is provided to add 
another 4K of RAM (off-board). 

As mentioned before, the sys- 
tem monitor resides in ROM, but 
three sockets are provided to 
add up to 24K bytes of addition- 
al ROM/PROM. Addressing 
jumpers are provided so that 
each socket can accommodate 
any of four different types of 
read only memory devices. 

On-board interfaces include a 
cassette interface complete 
with remote control (on/off of 
cassette recorder motor) that is 
usable in two modes: KIM-1 
compatible and high speed 
(nearly 1500 baud). A Model 33 
Teletype can be added through 
the 20 mA teleprinter interface, 
or if you'd rather use an RS-232 
CRT terminal, an interface is 
provided for this also. 

All of the software needed to 
support the cassette, Teletype 
and CRT terminal interfaces is 
included in the system monitor. 
In addition to this, the SYM-1 
automatically adjusts for baud 
rates from 300-4800 baud (inclu- 
sive) when the CRT terminal in- 
terface is used. For users with- 
out terminals, the SYM-1 pro- 
vides an oscilloscope driver that 
will allow you to use an ordinary 
oscilloscope to display one line 
of 32 characters; the software 
for this scope driver is included 
in the SYM-1 reference manual. 

For input/output and timing 
applications, the board comes 
with two 6522 VIAs (versatile 
interface adapter) and one 6532 
device. These three devices are 
worthy of a chapter by them- 
selves; they are one of the big 
reasons the SYM-1 is so ver- 
satile. The 6532 has an on-chip 
programmable interval timer; its 
I/O ports are used to interface 
the keypad/display or any other 
user-supplied terminal to the 
microprocessor. 

The 6522 devices include two 
on-chip timers — an interval 
timer (that can double as a 
"pulse counter") and a timer 
that can operate either in a free- 
running mode or in the 
"interval" mode. The 6522s also 



include two 8-bit bidirectional 
I/O ports (with "handshake" 
capability) that can be con- 
figured in any I/O combination 
through the 6522's Data Direc- 
tion registers. In fact, some of 
the features of the SYM-1 (such 
as the scope driver, cassette 
interface and the write pro- 
tection of user RAM) use part of 
these VIAs. 

If this I/O capability is not 
enough for you, a socket is pro- 
vided so you can add one more 
6522 to the SYM-1 to give you 16 
additional I/O lines (with hand- 
shaking lines), plus the timers 
and other on-chip functions. 
Four buffers are also provided 
on-board (on four I/O pins of VIA 
#3) that the user can configure 
in any way he chooses. 

And there's one nice thing 
about the SYM-1 that I've saved 
for now: It's already assembled 
and fully tested; all you add is a 
single +5 V supply. 

System Monitor 

I left the discussion of the 
system monitor for now be- 
cause if you bought a micro- 
computer to learn about it and 
its microprocessor (as I did), 
then you'll want an operating 
system that's versatile and 
thorough enough to allow you 
debugging facilities and to give 
you the ability to examine reg- 
isters, move data around and so 
on. It would take too much 
space to describe each of the 
system commands, so here is 
just a list: Memory Ex- 
amine/Modify, Memory Search, 
Register Examine/Modify, Go (to 
start the program at immediate 
address or address given), 
Verify (display eight bytes in 
memory or any number of 
bytes), Deposit To Memory, 
Calculate (for hexadecimal 
arithmetic), Move Memory Block 
(to another location), Jump, 
Store Double Byte, Fill Memory 
Locations X-Y With Z, Write Pro- 
tect (user RAM), Load Tape 
(KIM-1 or high-speed), Load 
Paper Tape, Save Paper Tape, 
Save Tape (KIM-1 or high-speed) 
and Execute. 

In addition to these com- 
mands, " + " advances eight 
bytes (as when in Memory Ex- 
amine), "-" retreats eight 
bytes, "-*" advances one byte 




The SYM-1 package. 



(or register) and "«-" retreats 
one byte. There are eight user- 
defined keys to enable you to 
add to the monitor's command 
repertoire, and there is a system 
reset key to allow you to sweep 
your mistakes under the rug. 
And, of course, there is the 
DEBUG key/function. 

Pressing DEBUG allows you 
to single-step through each 
instruction in your program. 
Thus, after each instruction is 
executed, you can examine all 
of the registers and any memory 
locations and then go on to the 
next instruction in your program 
by pressing GO and Carriage 
Return (CR). 

You can let the monitor step 
through your program, but at a 
rate that's closer to jogging 
rather than mile-a-minute sprint- 
ing. By changing the "Trace" 
velocity, you can set up the 
monitor to display the Program 
Counter address and the con- 
tents of the accumulator, pause 
and then resume execution, 
again one instruction at a time. 
And there is even a set of error 
messages to tell you when 
something is wrong (I still like 
the Bronx cheer method better). 

The error codes are inter- 
active; that is, the error message 
flashed onto SYM-1 's display 
depends on the context in which 
the error occurred. This simpli- 
fies to a message of "Er XX," 
where XX is a two-digit repre- 
sentation of the byte that 
couldn't be digested. Finally, for 
you programmers, the eight 
user-defined keys should start 



you on your way to controlling 
the world. 

Unfortunately, I've had to 
restrict (and sometimes omit) 
the descriptions of the SYM-1 's 
features and capabilities. For 
more detail consult the compre- 
hensive manuals that come with 
the board. 

Applications 

With its I/O and timing capa- 
bilities, the SYM-1 is an obvious 
choice for intelligent-controller- 
type applications. But the board 
is an application in itself, teach- 
ing you machine-language pro- 
gramming and the merits of the 
6502 microprocessor, including 
the versatile combination of its 
instruction set and addressing 
capabilities. You can apply what 
you learn to all microprocessor- 
based computers, as all micro- 
processors share common fea- 
tures that will enable even a 
novice to get his or her foot in 
the door. 

For those interested in pro- 
gramming in a high-level lan- 
guage, there is Synertek's 
BASIC, which is packaged in 
two ROMs that plug right into 
sockets provided on the SYM-1. 
This extended BASIC even has 
string functions that should en- 
able you to write a nice text 
editor or two. 

But it is the SYM-1 's ability to 
interface with the real world that 
will please the utility-minded 
user most. If he is a photog- 
rapher, the SYM-1 can automate 
his darkroom from enlarger tim- 
ing to agitation of the chem- 



Microcomputing January 1980 95 



icals; if he is interested in an 
audiovisual display, he can 
control lighting systems to the 
tune of his favorite music, 
creating effects that will make 
ordinary color-organs pale in 
comparison. 

To an experimenter/hobbyist, 
the SYM-1 could combine 
several test instruments into 
one, such as a frequency 
counter, digital voltmeter and a 
programmable pulse generator; 
for the electronic music en- 
thusiast, the SYM-1 could 



become the heart of a 
polyphonic synthesizer, gen- 
erating envelopes for your VCAs 
(voltage controlled amplifier) 
and even making sure you're in 

tune. 

You can write programs that 
will test ICs (with the addition of 
some wire and a zero insertion 
force socket or two), program 
your EPROMs (and check for er- 
rors), move "light" pieces on a 
game board, secure your home; 
in short, anything that can be 
controlled electrically (directly 



or indirectly) can most probably 
be controlled and monitored by 
SYM-1 . That includes the coffee- 
pot. 

My own uses for SYM-1 have 
included some of the above 
(such as the EPROM program- 
mer) plus such things as a geo- 
metric art generator that uses 
an ordinary oscilloscope, and a 
music program that will play up 
to 256 notes (any audible fre- 
quency) and uses the on-board 
timers (in the VI As) for the notes' 
pitch and duration. When I got 



the Synertek BASIC, I wrote 
some "recreational" programs 
including a conversational pro- 
gram, and even a program that 
will balance a checkbook. 

So, if you like to program in 
BASIC, or are interested in using 
a microcomputer as the in- 
telligent heart of any system 
(from kitchens to multi-channel 
data-acquisition systems), or if 
you're just interested in learning 
about microprocessors and 
microcomputers, look into the 
SYM-1. ■ 



TRS-80 SOFTWARE TRS-80 

Aardvark games are now available for 
the TRS-80, Level II. 



KEAL TIME 

Starflghter $5.95 

A real time space mission featuring 4 types of op- 
ponents, working instruments. 3 types of weapons, 
and 10 levels of difficulty. 
Slashball $5.95 

Once a machine code favorite, its now available in 
BASIC. It takes fast reflexes and planning to score. 
Breakthra $5.95 

This fast action, pinball-like game features user 
selectable bumpers. 
FOR THINKERS 
Battlefleet ........•••••••••«•••»•••••••••••• *'•"' 

This one is Battleship all grown up for adults. A tough 
thinker's game that you play against the computer. 

All programs come on cassette with listings and 
documentation. 

Send $.25 or SASE AARDVARK 
for descr/pt/ons. TECHNICAL 

^A9o SERVICES 

t^^-l 1690 BOLTON, WALLED LAKE 
Vj^20j(£ m\ Ml 48088 313-624-6316 




TRS-80 

SPEEDUP MOD 
REVERSE VIDEO 




Install a Speedup Board 
and run your Level II TRS-80 50% faster. Simple 
"Out" statement changes between normal and 
faster 2.66 mhz operation. No switch required - 
no program crashes. 

A twitch (not supplied) may be added tor manual control. 

ASS EMBLED $24.95 Kit $1 8.95 

REVERSE VIDEO without switches 
or software. It provides black characters and 
graphics on a white screen for a crisper presen- 
tation. Change between normal and reverse by 
simultaneously pressing a combination of three 
keys on the keyboard. 

ASSEMBLED $14.95 

California residents add 6% sales tax 
For shipments outside of USA add 75%. 

Bill Archbold Electronics 

Dept KB, P.O. Box 7123, Sacramento, CA 95826 
(916)362-3627 «^A98 



MEMOREX 

Floppy Discs 

Lowest prices. WE WILL NOT 
BE UNDERSOLD!! Buy any 

quantity 1-1000. Visa, Mastercharge 
accepted Call free (800)235-4137 
for prices and information. All 
orders sent postage paid. 



PACIFIC 
EXCHANGES 

100 Foothill Blvd. 
San Luis Obispo, CA 
93401. (InCal. call 
(805) 543-1037.) 

^P66 



SBASIC 



NEW revision 4.0 of SDASIC. All the features 
of SDASIC (cose structure, procedures, etc.) 
plus LINK statement to copy external 
source files at compile time, multiple state- 
ments per line, and more. Compile time 
performance has been improved by 50 per- 
cent. Available on CP/M* disk and TRS-80* 
diskette for $50, listing $35, manual $10. 

J/J>Se/«S *JSJr &4MW#*f*A 

313 Meadow Lane 
Hastings, Michigan 49058 

(616) 945-5334 
(Dealer inquiries invited) 

♦CP/M and TRS-80 are trademarks of 
Digital Research and Tandy Corp. ^U12 



^M67 



CASSETTE 
DUPLICATION 



TRS-80 (I & II), PET, APPLE, KIM, ATARI 

Quality software duplication is more 
than copying cassettes. Microsette du- 
plication uses a proprietary high speed 
duplicator designed specifically for 
computer program duplication. The fin- 
ished products are of consistent quality, 
guaranteed to load. Minimum order is 
100 with discounts for higher quanti- 
ties. Call (408) 735-8832 for details. 



rrrxr 



MMMBMMMNMglM 



MICROSETTE CO. 
777 Palomar Avenue 
Sunnyvale, CA 94086 



Canadian 

8K MEMORY KITS 



M1 — Fast Signetics 21L02-1 RAMs with 20 
pages of Documentation— solder mask Low 
power Schottky— S-100 Bus— Full Buffering 

$179.95 

M2— as above with DIP switch address select 
and Robinson Nugent IC sockets only $199.95 

MEM1— WAMECO bare board as used in 
above kits $39.95 

Write for info on WAMECO CPU and other 
S-100 bare boards. 



rtRTHftN COMPUTER 

12411 Stony Plain Rd 
Edmonton, Alberta Canada T5N3N3 



96 Microcomputing January 1980 



Computer Design Labs 



Z80 Disk Software 



We have acquired the rights to all TDL software (& hardware). TDL software has long had the reputation of being the best in the 
industry. Computer Design Labs will continue to maintain, evolve and add to this superior line of quality software. 
— Carl Galletti and Roger Amidon, owners. 



All of the software below is available on 
any of the following media for operation 
with a Z80 CPU using the CP/M* or similar 
type disk operating system (such as our 
own TPM*). 

for TRS-80* CP/M (Model One) 
for 8 CP/M (soft sectored single density) 
for 5V«" CP/M (soft sectored single density) 
for 5%" North Star CP/M (single density) 
for 5V4" North Star CP/M (double density) 

BASIC I 

A powerful and fast Z80 Basic interpreter 
with EDIT, RENUMBER, TRACE, PRINT 
USING, assembly language subroutine 
CALL, LOADGO for "chaining", COPY to 
move text, EXCHANGE, KILL, LINE INPUT, 
error intercept, sequential file handling in 
both ASCII and binary formats, and much, 
much more. It runs in a littleover 12 Kand is 
ROMable. An excellent choice for games 
since the precision was limited to 7 digits in 
order to make it one of the fastest around. 
$69.95. 

BASIC II 

Basic I but with 12 digit precision to make 
its power available to the business world 
with only a slight sacrifice in speed. Still 
runs faster than most other Basics (even 
those with much less precision). $99.95 

BUSINESS BASIC 

The most powerful Basic for business 
applications. It adds to Basic II with random 
or sequential disk files in either fixed or 
variable record lengths, simultaneous 
access to multiple disk files, PRIVACY 
command to prohibit user access to source 
code, global editing, added math functions, 
and disk file maintenance capability without 
leaving Basic (list, rename, or delete). 
$159.95. 

ZEDIT 

A character oriented text editor with 26 
commands and "macro" capability for 
stringing multiple commands together. 
Included are bidirectional search with 
optional replace and a complete array of 
character move, add, delete, and display 
functions. $49.95. 

ZTEL 

Z80 Text Editing Language - Not just a 
text editor. Actually a language which allows 
you to edit text and also write, save, and 
recall programs which manipulate text. 
Commands include conditional branching, 
subroutine calls, iteration, block move, 
expression evaluation, and much more. 
Contains 36 value registers and 10 text 
registers. Be creative! Manipulate text with 
commands you write using Ztel. $68.95. 

TOP 

A Z80 Text Output Processor which will 

do text formatting for manuals, documents, 
and other word processing jobs. Works with 
any text editor. Does justification, page 
numbering and headings, spacing, 
centering, and much more! $68.95 



MACRO I 

A macro assembler which will generate 
relocateable or absolute code for the 8080 
or Z80 using standard Intel mnemonics plus 
TDL/Z80 extensions. Functions include 14 
conditionals, 16 listing controls, 54 pseudo- 
ops, 11 arithmetic/logical operations, local 
and global symbols, chaining files, linking 
capability with optional linker, and 
recursive / reiterative macros. This 
assembler is so powerful you'll think it is 
doing all the work for you. It actually makes 
assembly language programming much 
less of an effort and more creative. $49.95 

MACRO II 

Expands upon Macro Is linking 
capability (which is useful but somewhat 
limited) thereby being able to take full 
advantage of the optional Linker. Also a 
time and date function has been added and 
the listing capability improved. $68.95 

LINKER 

How many times have you written the 
same subroutine in each new program? Top 
notch professional programmers compile a 
library of these subroutines and use a 
Linker to tie them together at assembly 
time. Development time is thus drastically 
reduced and becomes comparable to 
writing in a high level language but with all 
the speed of assembly language. So, get the 
new CDL Linker and start writing programs 
in a fraction of the time it took before. Linker 
is compatible with Macro I & II as well as 
TDL/Xitan assemblers version 2.0 or later 
$68.95 

DEBUG I 
Many programmers give up on writing in 
assembly language even though they know 
their programs would be faster and more 
powerful. To them assembly language 
seems difficult to understand and follow, as 
well as being a nightmare to debug. Well, 
not with proper tools like Debug I. With 
Debug I you can easily followtheflow of any 
Z80 or 8080 program. Trace the program 
one step at a time or 10 steps or whatever 
you like. At each step you will be able to see 
the instruction executed and what it did. If 
desired, modifications can then be made 
before continuing. It's all under your 
control. You can even skip displaying 
a subroutine call and up to seven break- 
points can be set during execution. Use of 
Debug I can pay for itself many times over 
by saving you valuable debugging time. 
$69.95. 

DEBUG II 

This is an expanded debugger which has 
all of the features of Debug I plus many 
more. You can "trap" (i.e. trace a program 
until a set of register, flag, and/or memory 
conditions occur). Also, instructions may 
be entered and executed immediately. This 
makes it easy to learn new instructions by 
examining registers/memory before and 
after. And a RADIX function allows chang- 
ing between ASCII, binary, decimal, hex, 
octal, signed decimal, or split octal. All 



these features and more add up to give you 
a very powerful development tool. Both 
Debug I and II must run on a Z80 but will 
debug both Z80 and 8080 code. $88.95. 

ZAPPLE 

A Z80 executive and debug monitor. 
Capable of search, ASCII put and display, 
read and write to I/O ports, hex math, break- 
point, execute, move, fill, display, read and 
write in Intel or vinary format tape, and 
more! Disk $19.95. Also available in 2Kx8 
ROM with initialization for the SMB I or II 
(3 ACIA's and 1 PIA) $34.95. 

SMB II bare board $49.95. 
One PIA and four 74LS244's for SMB II 

$12.95 
8080 version of Zapple - disk $19.95 
on 2516 $49.95 

TPM* 

A NEW Z80 disk operation system! This 
is not CP/M*. It's better! You can still run 
any program which runs with CP/M* but 
unlike CP/M* this operating system was 
written specifically for the Z80* and takes 
full advantage of its extra powerful instruc- 
tion set. In other words its not warmed over 
8080 code! Available for TRS-80*, Tarbell, 
ICOM, Xitan DDDC, SD Sales "VERSA- 
FLOPPY", North Star (SD&DD), and Digital 
(Micro) Systems. $49.95. 

PAYROLL 

The Osborne package. Requires C Basic 2 
2 disks $74.95 Book $15.00 

ACCTS REC/ACCTS PAY 

By Osborne. Requires C Basic 2 $99.95 
Book $15.00. 

GENERAL LEDGER 

By Osborne. Requires C Basic 2 $99.95 
Book $15.00 

C BASIC 2 

Required for Osborene software $99.95 
Manual included. 

ORDERING INFORMATION 

Visa, Master Charge and COD. O.K. To 
order call or write with the following infor- 
mation. 

1. Name of Product (e.g. Macro I) 

2. Media (e.g. 8" CP/M) 

3. Price and method of payment (e.g. 
COD.) include credit card info, if 
applicable. 

4. Name, Address and Phone number. 

5. For TPM orders only: Indicate if for 
TRS 80, Tarbell, Xitan DDDC, SD Sales 
(5Y4" or 8"), ICOM (5V4" or 8"), North 
Star (single or double density)or Di- 
gital (Micro) Systems. 

6. N.J. residents add 5% sales tax. 



For Phone orders only call toll free 

1-800-327-9191 Ext. 676 

(Except Florida) 

1-800-432-7999 Ext. 676 (Florida) 

Computer Design Labs 



'Z80 is a trademark of Zilog 

*TRS-80 is a trademark of Radio Shack 



*TPM is a trademark of Computer Design Labs It is not 
CP/M" "CP/M is a trademark of Digital Research 

For tech calls United Software Applications 609-599-2146 or Otto Electronics 



342 Columbus Avenue 
Trenton, N.J. 08629 

Dealer inquiries invited. 

609-448-9165 



i^C156 




< 




^ Reader Service — see page 227 



Microcomputing January 1980 97 



Converting Selectric Keyboards 
from BCD to Correspondence Code 



Part 2 of this article plugs into the electrical aspects of converting BCD Selectrics. 



Robert M. Weil 

1700 Security Pacific Plaza 

1200 3rd Ave. 

San Diego CA 92101 

The electrical part of the 
modification consists of re- 
wiring the contacts in the ma- 
chine to bring out the addition- 
al character selection informa- 
tion made possible by use of 
the Correspondence code. 
There are three sets of trans- 
mitting contacts. One set of 
seven pairs is operated by the 
selector bails to reproduce the 
six-bit plus parity character se- 
lection code. A second set con- 
sists of five pairs operated by 
the five machine control, or op- 
erational, keys. Finally, a set of 
shift transmit contacts senses 
whether the mechanism is 
being shifted, and whether to 
uppercase or lowercase. 

To generate codes for a full 
character set, the shift informa- 
tion must be stored and used 
as a seventh character selec- 
tion bit, doubling the number of 
possible code combinations. 

The use of the character se- 
lection contacts is completely 
straightforward. The code from 
the interposers is reproduced 
as contact closures and may be 
directly connected to logic out- 
side the machine. Application 
of the operational and shift con- 
tacts requires some explana- 
tion, however. 



Operational and Shift Contacts 

First, consider the operation- 
al contacts. There is a contact 
pair corresponding to each op- 
erational function, which pro- 
duces an inefficient 1-out-of-5 
code. My original intention was 
to convert this into binary form 
and to combine the encoded 
operational information with 
the character selection code so 
that both character and control 
codes would appear on the 
same output connections, as is 
the case with ASCII-coded de- 
vices. After considerable inves- 
tigation, I concluded that a sim- 
pler, more widely usable modifi- 
cation would result if the ma- 
chine were simply rewired to 
IBM's standard for Correspon- 
dence-coded Selectric l/O's. 

Their approach is to just 
bring the individual operational 
contacts out to the connector. 
This has two advantages. First, 
it is easy to do. Second, it al- 
lows the user to choose either a 
hardware or a software method 
of code conversion. A parallel 
input port could be used to 
monitor the status of the opera- 
tional contacts, with a brief 
lookup table provided to trans- 
late contact closures into ASCII 
control codes. Hardware meth- 
ods would be more elaborate. 
An interface with hardware 
code conversion and hand- 
shaking is in the planning 



Qty. Part No. 



6 
10 
10 



2122258 
4187243 
1166039 



Male pin (for 50-pin connector) 
Taper terminal (also 0187243) 
Slip terminal (wire-wrap clip) 

Parts list. 



Price 

.80 
.02 
.03 



stages, and might be the sub- 
ject of a future article. 

The shift transmit contacts, 
like the operational contacts, 
would be combined in some 
manner with the character se- 
lection contacts if we intended 
to put the complete code on a 
limited number of output lines. 
As in the case of the operation- 
al contacts, I decided instead 
to do it IBM's way and bring 
them out individually to the 
connector. 

In BCD machines, because 
there are fewer codes, IBM 
found it convenient to take the 
opposite approach, combining 
operational codes with charac- 
ter codes. This was done by re- 
coding the operational and 
shift contact closures into 
binary form using diodes and 
connecting them to the charac- 
ter selection contacts. 

To complete modification to 
Correspondence code, this in- 
terconnecting wiring and the di- 
odes must be removed. Modify- 
ing the wiring is simplified 
somewhat by IBM's use of 
taper pins, replaceable connec- 
tor pins and, on some models, 
wire-wrap clips for making con- 
nections. What follows is a de- 
tailed description of the re- 
wiring required. 



Rewiring 

Fig. 1 is the schematic of a 
BCD machine. Note the manner 
in which the character selec- 
tion and operational contacts 
are interconnected. Fig. 2 is a 
complete schematic of Corre- 
spondence-coded I/O wiring. 
Figs. 1 and 2 are all-inclusive; 
IBM states that there are prob- 
ably no machines that include 
all the features shown. My ma- 
chine did not include a shift 
magnet or shift mode contacts, 
though it had shift transmit 
contacts and a set called C3, 
which, like shift mode, is a 
part of the printer handshake 
for shifting. 

In both the Correspondence 
and BCD versions, the six code 
bits and the parity bit are 
brought out to pins r, s, t, u, v, w 
and x of the 50-pin connector. 
(If you have one of the few 
34-pin units, an unofficial 
schematic is available from the 
author. Send a stamped, self- 
addressed envelope.) The cir- 
cles marked with a lowercase 
letter and a number refer to ter- 
minals on the taper pin blocks. 

Fig. 3a shows the layout of a 
typical taper pin block; Fig. 3b 
shows where the blocks are lo- 
cated. Note that the operation- 
al and shift mode contacts do 



Connector Pin 


Remove From 


Connect To 


r 


a3 


a2 


s 


a2 


a4 


t 


a6 


a6 (no change) 


u 


a4 


a8 


V 


b3 


b2 


w 


b5 


b4 


X 


b6 


b7 



Table 1. 



98 Microcomputing January 1980 



not have their own outside con- 
nections in the BCD machine. 
They are connected to pins z, 
AA, BB, CC, DD, EE and FF in 
the Correspondence-coded ver- 
sion. These pins are omitted 
from the connector in the BCD 
machine. These connector 
pins, as well as taper pins and 
wire-wrap clips, may be pur- 
chased from any IBM parts out- 
let. They are also sold by AMP, 
Inc., but are difficult to pur- 
chase in small quantities from 
that source. 

A list of the parts you will 
need is included in the article. 
Tools required are a soldering 
iron, needle-nose pliers, cut- 
ters, wire-strippers, a small and 
a medium screwdriver and a 
solder wick or solder-sucker. 
Take a good look at the under- 
side of your Selectric, and lo- 
cate the features shown in Fig. 
3b. Now you are ready to begin. 

Procedure 

1. Locate the character se- 
lection contact assembly. It is 
halfway back on the left, under 
a clear plastic cover. 

2. Remove the plastic cover. 
Replace the two screws. They 
will serve as guides for dress- 
ing wires to clear the cover. 

3. Examine the configura- 
tion of the contacts. Notice 
that they are arranged in seven 
groups, each consisting of four 
single-pole, double-throw sets. 
This modification involves only 
those farthest from the frame. 
Those closest to the frame are 
wired to form a parity tree. You 
will not use it, but it is unneces- 
sary to spend time removing 
the wiring. 

4. Unsolder all the wiring 
from the lower contacts. In- 
cluded will be one jumper to the 
right-hand upper set, which 
should be unsoldered at both 
ends. 

5. Using a needle-nose pliers, 
disconnect all diodes from the 
taper pin blocks. Taper pins 
can be disconnected by a sharp 
pull straight out from the block. 

6. After removal of the di- 
odes, there will be seven taper 
pins left with hookup wire at- 
tached which was previously 
unsoldered during step 4. Re- 
locate these in the following 
positions: a2, a4, a6, a8, b2, b-4, 



b7. Move the two pins already in 
b7 to b8. If there was already a 
pin in a2, remove it and tie it 
back. 
7. Refer to Fig. 4. Install a 



piece of bus wire, tying together 
all the center contacts of the 
lower set, and connect it to the 
right hand upper set as shown. 
Loop the wire so that it clears 



the cover screws by 1/8 inch or 
more. 

8. Connect the seven jump- 
ers referred to in step 6 as 
shown in Fig. 4. 




I IS VAC 



000000000000 

0Q0Q00Q0Q00 E 
00QQ00QQQQQ@ 



HH 



50 POSITION AMP CONNECTOR NOTE (T) 




NOTES 

(TJSOUARED LETTERS ARE PIN 
CONNECTIONS AS SEEN FROM 
OUTSIOE OF CONNECTOR 

[|]magnet ARC SUPPRESSION 
DIODE POLARITY AS SHOWN IS 
STANDARD REVERSED POLARITY 
IS OPTIONAL CHECK MACHINE 
WIRING TO DETERMINE 
ACTUAL POLARITY. 



MOTOR 



Fig. 1. Schematic, BCD machine. 



Microcomputing January 1980 99 



9. Relocate the wires that 
run from the connector to the 
taper pin blocks as shown in 



Table 1. part of the interconnect from 

10. Any taper pins not dis- the operational and shift con- 
posed of in steps 6 and 9 are tacts. Disconnect them. If you 



■i 

A 9 



g3 

B — — 9- 



95 
C 9- 



g7 

D 9- 



hl 



h3 



h5 
H 9- 



el 
S 9 



tS 

T 9- 



<J3 
R 9- 



c8 
N 9- 



c7 
M 9- 



c5 
L 9- 



c4 

-9- 



fl 
U 9 



f2 
V 9 



T2 



t *r 



CK 



R2A 



Rl 



R2 



■* 



R5 



UC 



L C 



INDEX 



CR 



BSR 



SP 



TAB 



LOCK 



RED 



BLK 



EVEN BIT 



b8 

-o— 



?F 



■NOTE 2 



<bg4 



<?g8 



g6 



Ch2 




Oh4 



BOTTOM LEFT 



h6 



„e5 c2 A 
9 9— 9cl 



9h7 



<Je6 
■Oe7 



d8 

-Q— 



od7 



7P- 



EOL 



RIBBON MODE 
FRT 



— J 



KB. MODE 



L.C 



UC SHIFT MODE 



9d6 



9d5 



Od4 



F 3 




— h 



w 
n 



f3 
9— 



f4 



SHIFT LC. 



CA— o 



SHIFT UC 



J A— o 



INDEX 



JA-» 



CR 



JA-o 



B-SP 



J*-» 



SP 



J*~ » 



TAB 



CRTN 
INTLK 

o 



L 
-©- 



±^ 



TAB INTLK 



b 

FF 
EE 
DD 
CC 
BB 

AA 

z 

Y 
c 



000S000BQQQ 
000000Q00QQ@l!1 

00000000000HU 
000000000 000 



50 POSITION AMP CONNECTOR NOTE (T] 



<(' BLK o ^ o BLK « BLK 



II5 VAC 
GREEN/YEL HH 



N2 



"fc 



» WHT.X.WHT y / 




NOTES: 

(71 SQUARED LETTERS ARE PIN 
u- ^ CONNECTIONS AS SEEN FROM 
OUTSIDE OF CONNECTOR 

fFI MAGNET ARC SUPPRESSION 

DIODE POLARITY IS STANDARD 
REVERSED POLARITY IS 
OPTIONAL CHECK MACHINE 
WIRING TO DETERMINE 
ACTUAL POLARITY 



MOTOR 



Fig. 2. Schematic, Correspondence machine. 



are accustomed to working 
with either lacing cord or cable 
ties, the main harness may be 
unlaced between blocks A and 
B and the operational contacts, 
and the unnecessary wires re- 
moved. If this seems too diffi- 
cult, they may be tied back to 
the harness. In either case, 
double-check that you haven't 
removed a necessary wire. This 
completes the rewiring of the 
character selection contacts. 

11. Looking at the bottom of 
the machine, locate the opera- 
tional contact assembly at the 
lower right. The earliest models 
had leaf-type contacts with 
soldered connections. The vast 
majority had a molded contact 
housing with wire-wrap pins 
protruding from the bottom. 

12. Strip all wiring from the 
operational contacts. Locate 
and mark the wire that comes 
from the normally open contact 
of the C5 set. The C5 and C6 
contacts are above the frame at 
the rear of the mechanism, with 
the C5 set closest to the motor. 
Double-check that C5's normal- 
ly open contact is connected to 
pin b of the connector. 

13. Make a "daisy chain" of 
wire-wrap clips with about 1 
inch of hookup wire between 
them. Slip the clips over pin J of 
each set of contacts. Refer to 
Fig. 5. 

14. Connect the previously 
identified wire from pin b onto 
any of the "J" pins. 

15. Measure the length of 
wire required to reach from the 
operational contact assembly, 
pin L, to the connector. 

16. Prepare five jumpers of 
the appropriate length, each 
with a male connector pin on 
one end and a wire-wrap clip on 
the other end. 

17. Snap a connector pin 
into position z of the connector. 
Slip the wire-wrap clip over pin 
L of the tab contacts. In the 
same manner, connect pin AA 
to space, pin BB to back space, 
CC to return and DD to index. 

18. Locate the shift transmit 
contacts. Do this by switching 
on your machine and looking at 
its right side. Shift to upper- 
case, then back to lowercase. 
Note that on the end of a shaft 
there is a round assembly that 
rotates during a shift but is sta- 



100 Microcomputing January 1980 



tionary otherwise. This is called 
the shift dutch. Below and to 
the rear of the shift clutch are 
some contacts. Note that they 
move during a shift. The rear- 
ward group consists of three 
sets of single-pole, double- 
throw contacts. These are the 
shift transmit contacts. Note 



12 3 4 


5 


6 7 8 


o o o o 
o o o o 
o o o o 


o 
o 
o 


o o o 
o o o 
o o o 



Fig. 3a. A typical taper pin 
block. The three connections 
under each number are con- 
nected together internally. 



that there is a common connec- 
tion to the swinging contacts of 
all three pairs. 

19. Disconnect and tie back 
or remove all the wires con- 
nected to the shift transmit 
contacts. 

20. Measure the length re- 
quired to reach from the shift 
transmit common to one of the 
"J" pins on the operational 
contact assembly. Prepare a 
jumper with a wire-wrap clip at 
one end. Solder it to the shift 
transmit swinging contact 
common, and connect the 
other end to one of the "J" pins. 

21. Measure the length re- 
quired to reach from the shift 
transmit stationary contacts to 
the 50-pin connector. Prepare 



T2 



CK 



Tl 



R2A 



"cL"^ (T\. 



02 



o4 06 08 b2 



o4 

'—FORMED TO 
CLEAR SCREW 




Fig 4. Character selection contacts. 



two jumpers, each with a con- 
nector pin at one end. 

22. Connect one jumper to 
an inboard (toward the frame) 
stationary contact. Snap the 
connector pin into position EE 
of the connector. Connect the 
other jumper to an outboard 
stationary contact. Snap its 
connector pin into position FF 
of the connector. 



TAB SP BS CR IND 



a 
a 


CD 
CD 


CD 
CD 


CD 
CD 


CD 
CD 


CD 


a 


a 




CD 



BB CC 



DO 



Fig. 5. Wire- wrap pins on oper- 
ational contact assembly. 



CHARACTER 

SELECTION 

CONTACTS 



CHARACTER 

SELECTION 

SOLENOIDS 



G H 



Q 



OPERATIONAL 
SOLENOIDS 



OPERATIONAL 
CONTACTS 



Fig. 3b. Locations of contact assemblies and taper pin blocks on 
bottom of machine. 



Modification Complete 

This completes the modifica- 
tion. You are now the owner of a 
Correspondence-coded Selec- 
tric I/O typewriter. It will serve 
as a top-quality typewriter 
using any Correspondence 
typeball, and the electrical out- 
put of the keyboard is now Cor- 
respondence coded. You may 
take either of two approaches 
to interfacing the machine with 
your computer. It can be done 
entirely by using software, by 



providing code conversion 
lookup tables in memory. If a 
hardware approach appeals to 
you, there is a code conversion 
IC, from ASCII to Selectric and 
from Selectric to ASCII, avail- 
able at a reasonable price 
(MCM6561, available from Tri- 
Tek, Inc.). Whichever method 
you use, this modification will 
transform your Selectric I/O 
from a printer with a useless 
keyboard into a fully functional 
hard-copy terminal. ■ 



IBM No. 241-5737-0 
241-5990-0 
241-5188-9 



Service Manual 
Adjustment Parts Manual 
Part Number/Price List 

Recommended reading. 



$7.85 

4.10 

.45 







NEED HELP WITH TRS-80 MACHINE LANGUAGE ? 

SUPERMAP TO THE »ESCUE! 

SUPERMAP contains hundreds and hundreds of 
comments and explanations arranged in a long 
detailed memory map. Documents keyboard, video, 
tape, LFVFL II commands and functions. SUPERMAP 
even reveals the mysterious reserved RAM areas. 
An essential tool for the expert and a valuable 
guide for the beginner. 

NEVER BE LOST AGAIN WITH SUPERMAP. . .only $18.95 



FULLER SOFTWARE 

630 E. SPRINODALE 

GRAND PRAIRIE, TEXAS 75051 



^F20 



Note Texas residents add 96c tor sales tax 



THE 



SMART TERMINAL 

SOFTWARE PACKAGE FOR THE 

TRS-80 

• TRUE BREAK KEY 

• AUTO REPEAT KEYS 

• PROGRAM/VIABLE SOFT' KEYS 

• MULTIPAGE SCROLLING DISPLAY 

• FULLY CONFIGURED FROM KEYBOARD 

• TWO SELECTABLE LINE DIAGNOSTIC MODES DISPLAY 
CONTROL CHARACTERS 

• MULTI PROTOCOL CAPABILITY 

• GRAPHIC CHARACTERS GENERATED FROM KEY- 
BOARD 

• TRANSMIT SCREEN. PRINT SCREEN 

• TRANSMIT FILE. RECEIVE 8. CREATE DISK FILE 

• FLEXIBLE I/O LINKAGE CAPABILITY 

• DISPLAY AND KEYBOARD DRIVERS CAN BE USED 
UNDER DOS 



MICRON, INC. 



• $79.95 



1 0045 Waterf ord Dr. Now Available: SPOOL-80 

Ellicott City, MD 21043 Print your listings while 

(301)461-2721 running other programs 

MC7VISA accepted * M1 1 5 (disk systems only) 39.95 



[~~ Advanced Scientific Software for 



i 



TRS-80 and NORTH STAR 

MATH Librar y I 

22 quality programs (req. 16K) including root of 
equations, integration, differentiation, simulta- 
neous equations, matrix operations, interpola- 
tions, regression analysis (linear, polynomial, 
multiple), ordinary differential equations, partial 
differential equations, statistics and plotting; 
with manual. 



TRS-80 disk 

TRS-80, Level II tape 

North Star disk (single density) 



$35 
$32 
$45 



ODE Master 

Solves single and simultaneous ordinary differ- 
ential equations; can handle even 'stiff' prob- 
lems; error control and formatted output to CRT 
or printer; with manual. 



TRS-80 Level II, 16K tape 
North Star disk (single density) 



$25 
$30 



Custom Software for education or professional 
use is available. 




L 



■. Lee 



*^L3 



5819 Thomas Ave., Philadelphia PA 19143 (215) 748-4558 



J 



p* Reader Service— see page 227 



Microcomputing January 1980 101 



Plucking Programs 
from Thin Air 



Amateur radioteletype transmissions are an unusual source of new programs. Eavesdrop- 
ping can be easy with a properly programmed 6800. ^^^ 



John J. Glidewell 
3623 Charlene Dr. 
Dayton OH 45432 



Programs from thin air? Yes. 
By radioteietype. Radio- 
teletype (RTTY) is used by many 
amateur radio operators (hams) 
to exchange messages and 
other types of data. Such trans- 
missions are usually printed on 
a regular Teletype machine or 
on a video display. Many hams 
are also computer hobbyists, 
and program exchange by RTTY 
has become quite common. 

Although you must be a li- 
censed ham to transmit pro- 
grams, anyone can receive 
them. Long-range transmis- 
sions use high-frequency (HF) 
radio, but two-meter FM radio 
(144.5-148 MHz) is being used 
more frequently for exchange 
of programs within the local 
area. Reception of these trans- 
missions is the subject of this 
article. 

Radioteletype 

RTTY is accomplished by us- 
ing two audio tones in exactly 
the same manner as is done by 
many computer tape systems. 
The common standard defines 
a mark as 2125 Hz and a space 
as either 2295 Hz (narrow shift) 



or 2975 Hz (wide shift). Narrow 
shift is normally used on the 
long-range HF bands, while 
wide shift is more common on 
the VHF bands. However, nar- 
row shift is used locally on two- 
meter FM; therefore, the listed 
program will operate with 
either. 

The various means by which 
transmission is accomplished 
are not germane to the immedi- 
ate problem; however, a brief 
description of how RTTY recep- 
tion and detection is accom- 
plished is needed. 

Output of a receiver tuned to 
an RTTY signal is the pair of 
audio tones. The tones are fed 
into a device called a terminal 
unit, or TU for short. The TU 
may contain amplifiers and lim- 
iters and a pair of narrow band- 
width audio filters, one tuned to 
each of the two audio tones. 

The filters provide noise re- 
jection and detection of the sig- 
nal as either a mark or space. 
The output of the filters actu- 
ates a relay or some form of 
SPDT switch, one position of 
which represents the mark and 
the other position the space. 
The switch controls a standard 
60 or 20 mA current loop to 
drive the printer directly. Thus, 
the TU acts like a computer I/O 
device and could replace a key- 



board or other input device to 
enter data directly into the 
computer. 

On the noisy HF bands, a fair- 
ly high-quality receiver and TU 
are needed for good perfor- 
mance. However, operation on 
the two-meter FM band has a 
couple of advantages. First, un- 
like most HF operations, the 
mark and space tones modu- 
late the transmitter in such a 
manner that they will be repro- 
duced correctly by the receiver 
even though it may be slightly 
off frequency, provided only 
that the signal remains within 
the passband of the receiver. 
Therefore, the highly stable re- 
ceiver required on the HF 
bands is not mandatory with 
FM; although, of course, the 
better the receiver, the better 
the performance. 

Second, FM reception is 
much more free of noise as 
long as a reasonable signal is 
received. These two items per- 
mit the elimination of the ex- 
pensive TU and permit decod- 
ing of the mark-space tones to 
be done in software. The I/O in- 
terface device described here is 
simple and inexpensive, so the 
only item of any expense re- 
quired for two-meter FM RTTY 
reception is a receiver, and you 
may already have a suitable 



one (more on that later). 

At the time this is being writ- 
ten, amateur RTTY is restricted 
by the FCC to five-level Baudot 
code. I hope that ASCII will be 
approved soon since it is a far 
more satisfactory code for 
computer use. When ASCII is 
approved, I have a similar pro- 
gram all tested and ready to go. 
In the meantime, Baudot is the 
thing. 

Even when ASCII is approved, 
I believe Baudot will still be ex- 
tensively used because of the 
tremendous investment in ter- 
minal equipment. Even if the 
switch is made to ASCII for pro- 
gram transmission, there will 
still be a lot of interesting 
things going on in Baudot, one 
of which is called RTTY art in 
which pictures are transmitted. 
Last season I copied many nice 
Christmas pictures and posters 
using the program described. 

Baudot in Miniature 

Baudot consists of a start 
bit, five data bits and a stop bit. 
The five data bits are used to 
represent all 57 characters. 
Each code can represent either 
of two characters, a letter or a 
figure. The printer is told which 
of the two possible characters 
to print by a special shift code 
that is transmitted preceding 



102 Microcomputing January 1980 



each string of characters of the 
same type. Carriage return, line 
feed and space, as well as the 
two shift codes, are common to 
both shift positions. If you are 
interested in a more detailed 
description of Baudot, as well 
as a listing of the codes, I refer 
you to the article by Haglund 
and Reed ("Baudot Interface 
Cookbook," Kilobaud, Septem- 
ber 1978, p. 66). 

How It Works 

The program listing was writ- 
ten specifically for the SWTP 
6800 computer but should run 
on any 6800 machine provided 
I/O and monitor addresses are 
compatible or changed as nec- 
essary. The technique used, 
however, should be applicable 
to any computer, and I have in- 
cluded a flowchart of the main 
part of the program, as well as a 
detailed description, to permit 
a similar program to be written 
for other computers (see Fig. 1). 

I will describe the first part of 
the program, Initialize Pointers, 
only briefly since it is unique to 
the 6800. Basically, this portion 
reads the program start ad- 
dress from memory and uses 
this data to find the location in 
memory of the various tables 
and messages. This was done 
solely to make the program re- 
locatable and can be dispensed 
with if you want to use a fixed 
address. The program, as writ- 
ten, can be loaded anywhere as 
long as the LSB of the address 
is 00. The next program section 
merely programs the output 
ACIA to operate the printer. 

The third section, Set Operat- 
ing Parameters, provides flex- 
ibility by permitting the user to 
choose between several op- 
tions. As mentioned earlier, the 
decode portion of the program 
will operate with either wide or 
narrow shift. This is accom- 
plished by loading MODSPC 
with the appropriate value in 
accordance with the user's in- 
put. 

Most Baudot transmission is 
at 60 wpm, although 100 wpm is 
increasing. Seventy-five wpm is 
more rare. The program permits 
these three-speed options by 
adjusting DELAY1 and DELAY2, 
which provide the appropriate 
baud rate timing in the comput- 



C 



BAUDOT 



3 



INITIALIZE 
PROGRAM 



1 



LOAO BIT COUNT 
AND CLEAR 
DATA REGISTER 



TEST 

SIGNAL INPUT 




DELAY I 
FOR FIRST 
DATA BIT 



YES yS SIGNAL 



LOOK FOR 
SIGNAL INPUT 



NEXT 



DECODE 



TEST 

SIGNAL INPUT 



d> 




YES ^"^SIGNAL* 
LOW 



DISCARD LOW 
PART OF 
SIGNAL 



START 




YES 



ROTATE ONE 
INTO DATA 
REGISTER 



ROTATE ZERO 
INTO DATA 
REGISTER 



DECODE 




COUNT SIX 
CYCLES OF 
SIGNAL 



DECREMENT 
BIT COUNT 



IS SIGNAL 
A SPACE? 
(START BIT?) 



STBIT 



DECODE 





DELAY 2 
BETWEEN 
DATA BITS 



OUT DAT 



START BIT 
RECHECK 



DELAY2 
BETWEEN 
DATA BITS 



1 



Fig. 1. Main program flowchart (continued on next page). 



er. If your computer has baud 
rate signals of the proper val- 
ues accessible in software, 
then you might want to make 
use of these. 

The flowchart commences 
with the signal decode portion 
of the program. RTTY tones, in 
the form of square waves from 
the interface, are fed into a de- 
vice on my computer called a 
control interface. This device is 
used to input serial data, al- 
though it is actually a parallel 
port— the serial-to-parallel con- 
version is in software. Input is 
fed to the high-order bit of the 
parallel port. By a shift-left in- 
struction, the data is shifted in- 
to the carry register, which is 
queried to determine whether 
the input is high or low. Other 
machines can adopt their own 
methods of obtaining the same 
information. 

With no signal input to the in- 
terface, the computer data bit 
will be high. The program re- 
mains in the top loop until an 
RTTY signal is detected by the in- 
put bit going low. Upon detec- 
tion of the low, the program 
again loops in order to discard 
the first cycle of tone data which 
could be only a partial cycle. 



Signal decoding actually 
starts at the label HRPT. A time 
counter, used to decode marks 
and spaces, is cleared, and an 
outer loop counter is set at six. 
The high- and low-signal loops 
operate as before, except now 
a counter is incremented on 
each cycle through the loop. 
Six complete cycles of the RTTY 
tone are counted to improve ac- 
curacy. I selected six cycles as 
a compromise between decode 
accuracy and the need to de- 
tect the beginning of a start bit 
for baud timing. 

The two RTTY audio tones 
have different periods resulting 
in different time counts for a 
mark or space. Upon returning 
to the main program, the time 
count is compared with MOD- 
SPC. If the count is less than 
MODSPC, the signal is a space, 
or start bit. If not, the program 
loops back for another look. 
Transition between marking 
and a start bit can occur 
anytime, even during the mid- 
dle of the six cycles counted. 
Therefore, DECODE is again 
entered for a confirming look. 

With start bit received, the 
program clears a register to re- 
ceive the incoming data and 



sets a counter to keep track of 
the five data bits. At 60 wpm 
each bit is 22 milliseconds long, 
and sampling should be done 
near the center. Therefore, the 
program must mark time from 
near the beginning of the start 
bit to the center of the first data 
bit. DELAY1 provides this. At 
the label NEXT, DECODE is en- 
tered five times. After each re- 
turn, MODSPC is checked for 
mark or space, or, as I have la- 
beled them, a one or zero. The 
appropriate bit is then shifted 
into the data storage register. 
After each bit a delay of slightly 
less than 22 msec is introduced 
by DELAY2. 

Subroutine OUTDAT trans- 
lates from Baudot to ASCII, 
prints the data and stores the 
data in memory. OUTDAT 
checks the data for a carriage 
return, line feed or space and 
generates the appropriate ASCII 
form. If the code is none of 
these, the program will look for 
a figure or letters shift and store 
the appropriate shift data. Shift 
information is not stored in 
memory, only ASCII data. Any 
remaining characters are data. 

The array TABLE contains 
the ASCII codes arranged in the 



Microcomputing January 1980 103 



(SUBROUTINE *\ 
OUTDAT J 



SHIFTS 


DATA 


INTO FIVE 


LEAST 


SIGNIF. 


BITS 





c 



SUBROUTINE 
DECODE 



SHIFT DATA 

RI6HT 

THREE TIMES 



OUTPUT AND 
STORE ASCII 
C/R AND RET. 



vesX a 



OUTPUT AND 
STORE ASCII 
L/F AND RET. 



YES 



OUTPUT AND 
STORE ASCII 
SPACE 



YES 




D 



DISCARD 
FRACTIONAL 
SIGNAL CYCLE 



HRPT 



CLR TIME COUNT 
AND SET CYCLE 
COUNT' TO SIX 



— H 



CHECKS FOR 
BAUDOT C/R. 
L/F OR SPACE 



CLEAR FIGURES 
SHIFT AND 
RETURN 



AUTOMATIC 
DOWNSHIFT 
ON SPACE 



SET FIGURES 
SHIFT AND 
RETURN 



YES 



CLEAR FIGURES 
SHIFT AND 
RETURN 



YES 




CHECKS FOR 
BAUDOT FIG. OR 
LTRS. SHIFT CODE 



ADD ANY 
POINTER 
OFFSET 



ONLY DATA 
REMAINS AT 
THIS POINT 



-Ob- 



test 
signal input 



INCREMENT 
TIME COUNT 



YES 












NO 


















TEST 
SIGNAL INPUT 








INCREMENT 


yes y^\ 


NAL\. 

GH / 


TIME COUNT 






"V Hl 



NO 



DECREMENT 
CYCLE COUNT 



ADD SHIFT TO 
SET POINTER TO 
ASCII CHAR. 




OUTPUT AND 
STORE ASCII 
CHARACTER 



c 



RETURN 



J 



Fig. 1. (continued). 



order of the corresponding 
Baudot code set. The input 
Baudot code itself then be- 
comes the least significant half 
of the array pointer. The first 20 
hex positions in TABLE contain 
ASCII letters, and the next 20 
hex spaces contain the figures. 

If the figures shift code has 
been received, a 20 hex will be 
stored in SHIFT and added to 
the pointer. If TABLE started at 
location XX00, then nothing 
more would be required. How- 
ever, I loaded TABLE immedi- 
ately following the program to 
save space. The actual location 
is found by adding an OFFSET 
to the Baudot code in addition 
to SHIFT. 

The program uses the con- 
vention that reception of a 
space anywhere in the text will 
cause an automatic shift to 
Baudot letters mode, regard- 
less of which shift was in use 
before (downshift on space). 
Upon receipt of a space, SHIFT 
is cleared to set letters mode. 

Operation 

In operation, the receiver is 
connected via its earphone or 



external speaker jack to the in- 
put of the interface. If your re- 
ceiver connection mutes the in- 
ternal speaker, you may want to 
add some sort of monitor 
across the line so you can hear 
the input signal. It is helpful if 
you can observe the output of 
the interface on a scope while 
adjusting radio volume and in- 
put gain control of the inter- 
face. You want to get an output 
that looks as clean as possible 
with little jitter. Don't mistake 
mark-space shifts as jitter. I 
have found best results with my 
particular system with receiver 
audio set near maximum and 
interface gain reduced to about 
the center of the control. 

Before entering the program, 
be sure to load A048-49 with 
program start address, even if 
your monitor does not require 
it. On going to the program, you 
will be asked to enter wide or 
narrow shift, speed and save 
data option. 

One caution: If you elect to 
save the data in memory, don't 
forget to enter memory storage 
address range into A002-A005 
before going to the program; 



otherwise, you can wipe out 
your program. I know! Remem- 
ber Glidewell's law: The more 
stupid the mistake, the longer it 
takes to find. 

Once the specified field is 
filled, the program will halt, so 
give it enough room. The printer 
should now start printing. 

I/O Interface 

The interface circuit is 
shown in Fig. 2. The circuit is 
built around the same interface 
used for the tape recording sys- 
temin my article, "6800 Tape 
System" (Kilobaud Microcom- 
puting, December 1979, p. 78), 



except the 7400 NAND gate has 
been replaced with a 74132 
Schmitt trigger. The original cir- 
cuit worked fine with narrow 
shift RTTY; however, when I 
went to wide shift, problems de- 
veloped. These were caused by 
the limited audio bandwidth of 
the communications receiver 
that attenuated the high 2975 
Hz tone. The 7900 op amp was 
added to provide some gain 
and limiting. Output of the 7900 
is a chopped-off sine wave 
that is further squared in the 

74132. 

With no input signal, the out- 
put of the op amp is low. Since 
the RS-232 input on MP-C re- 
quires a low for no signal if the 
20 mA loop section is being 
used, two sections of the 74132 
are used to maintain the proper 
conditions. 

If you are using only the 20 
mA loop portion of the control 
interface, the circuit is con- 
nected directly to MP-C as 
shown in Fig. 2. Remove the 
ground strap from terminal Rl 
and connect the interface di- 
rectly in its place. Your system 
should work normally with no 
interaction between the two in- 
puts on MP-C. If you are already 
using the RS-232 input (termi- 
nal Rl) for another terminal, an 
SPDT switch, as indicated in 
Fig. 2 by the dashed lines, 
should be installed. After ini- 
tializing the program, simply 
switch to the RTTY position. 

The circuit is built on a two- 
IC board from Radio Shack 
(276-024). The cabinet is also 
from Radio Shack. Other parts 
came mostly from the junk box. 
I built a power supply in one of 
my duller moments. Current 
drain is so low, the 5 volts re- 
quired could just as easily have 



VIDEO > 

TERMINAL * 



.0047 
RCVR o }[ 

IN* 



I/4 
74I32 




"1 

I 
I 
i 
I 
1 



? 

I 
I 
I 
I 



-o Rl 



r 



MP-C 
GND 



♦ 5V - PIN 14 BOTH ICs 
GND - PIN 7 BOTH IC* 



Fig. 2. The input interface circuit. The dashed lines are for an alter- 
nate connection if you already have another terminal connected to 
terminal Rl on MP-C. 



104 Microcomputing January 1980 



EXTRA SPECIAL PRICES & DELIVERY 



DISK DRIVES 

TARBELL DISK CONTROLLER BOARD(Kit) Single Density $179. 00 

PERTEC 5 V disk drives for TRS 80 (Flippy Disk) $359.00 

This drive gives you 40 tracks of storage versus the 35 track 
Radio Shack drive. The Pertec drive also has the flippy 
disk feature When you have filled one side of the diskette, 
flip it over and use the other side. 

Cable $ 29.50 

NEW DOS PLUS - DISK OPERATING 
SYSTEM FOR THE TRS-80 

Some of the features include: Screen scrolling, print from screen, keyboard 
debounce, line renumbering, run DOS from Basic, auto program execution, level I 
in level II capability, "Superzap" that allows inspection and modification of disk 
or mam memory, compatible with TRSDOS, will drive 40 track drives. 

LIST $ 1 10.00 OUR PRICE $89.00 

WITH DRIVE PURCHASE $65.00 

DISKETTES - VERBATIM 5 V soft sector (TRS-80) Box of 10 $ 28.50 

8" Soft sector FD 1000 Box of 10 $ 38.50 



CAT MODEM 






COMPUTERS 

TEXAS INSTRUMENTS 99/4 HOME COMPUTER $1095.00 

CPU The powerful 9900 16 bit microprocessor with 256 byte 
scratch pad RAM. MEMORY Total 72K bytes of ROM £t RAM, 
external ROM memory (Solid state software command mo- 
dules) up to 30K bytes each, 16K user RAM. KEYBOARD 40 
key, full travel, overlay for second functions. MUSIC & SOUND 
5 octives, 3 simultaneous tones plus noice generator. DISPLAY 
13" color monitor. GRAPHICS 16 colors high resolution 
^^am ^ x 256' V° u can define your own characters, create 
«gk animated displays, charts, graphs and more 
L Built in software 14K byte BASIC interpreter 
^_ 13 digit, floating point, internal graphics language 
interpreter, equation calculator & internal 4.4K 
byte monitor, recorder interface. PERIPHERALS re- 
mote controls, solid state speech synthesizer, RS 232 interface. 

CROMEMCO 

Z-2(Assm) $ 845.00 

Z 2D (Assm) For rack mounting, 4MZ Z 80, Floppy Disk Con- 
troller, Mini Floppy Disk Drive $1779.00 

Z3 (Assm) 4MZ Z 80. Dual 8" Drives, 32K RAM, Printer 

and RS 232 Interlace $4989.00 

Cobol, Fortran, Assmb., DBM, & other Cromemco software $ 86.00 

TUART(K.t) $176.00 TUART(Assm> $255.00 

CALL US FOR OTHER CROMEMCO DISCOUNTS 

SUPERBRAIN $2845.00 

Superbrain The most cost effective machine on the market 
today Intertec has combined their excellent video terminal with 
a sophisticated Z 80 computer and has come up with a totally 
integrated package. This beauty includes a 4MZ Z 80 computer 
system, 2 double density Mini Floppies with 320K of disk storage, 
64K of RAM memory, CP/M disk operating system with 
utilities, and a complete 80 character X24 line video smart ter 
minal. This machine boasts two Z 80 processors to handle pro 
cessing & I/O. A serial and parallel interface for the I/O is 
included. A S-100 edge connector is provided, so upgrading to 
10 300 MB hard disks is available. If you need more info, call us 



* 



EXIDY SORCERER w / 16K $1035.00 

W/32K $1135.00 

GODBOUT UNKITS 

16K $249.00 32K $498.00 I/O Board $184.00 



TERMINALS 

INTERTUBE II BY INTERTEC $ 777.00 

(Terminal) Z 80 controlled, 80 Char, by 24 lines, 128 upper and 
lower case, ASCII Char , graphic symbols, reversible video, half 
intensity video, special 25th display (status) line, 12" screen, 
operating mode: conversational, message, page. Char, insert/ 
delete, line insert /delete, half or full duplex, keyboard with 18 
key numeric pad, full cursor control, RS232 and 20/60 Ma loop 
auxiliary printer port, 75 9600 baud and a lot more special 
features all software controlled, no little mini dip switches 
to bother with. 

LEEDEX VIDEO 100 MONITOR $ 138.00 




Open up a whole new world of 
data and program exchange over 
the telephone. Allows one computer or 
terminal to talk to another. Can communicate 
with any Bell 103 compatible modem. RS232 
interface and TRS 80 compatible. 

NOVATION CAT ACOUSTICAL MODEL <300 baud) 



$185.00 



Tarbell Double Density 
Floppy Disk Interface 

FOR 8" DISK DRIVES 

Under Tarbell Double Density CP/M, single and double density disks may 
be intermixed The system automatically determines whether single or 
double density is in place. 

• Software select single or double density 

• Phase- locked loop and write precompensation for reliable data rescovery and storage 

• On board phamtom bootstrap PROM is disabled after bootstrap operation so all 64K 
memorv address soace is available to user 

• DMA in single or double density permits multi user operation. 

• Extended addressing provides 8 extra address bits, permitting direct transfer 
anywhere in a 16 megabyte address range. 

• Select up to 4 drives, single or double sided. 

• New BIOS for CP/M included on single density diskette. 

Assembled and Tested $398 



Tarbell VDS-II 

Vertical Disk Subsystem 

SYSTEM INCLUDES: 

• 2 Siemens 8" Disk Drives 

• 1 Cabinet with Fan and Power SuddIv. 

• 1 Tarbell Flpy Dsk Interface, asbld & tested 

• 1 CP/M' Disk Operating System. 

• 1 Tarbell BASIC. 

• All Cables and Connectors. fl ^,^^^-^k^ 

• Complete User Documentation. 

• Fully Factory Assembled and Tested. 

VDS-II Single Density $ 1699 

VDS-IID Double Density $1799 



PRINTERS 

TEXAS INSTRUMENTS PRINTER *810 (Up. & low case) $1689.00 

The Paper Tiger is Here! 




• Up to 198 characters per second 

• 132 columns 

• 6 or 8 lines per inch 

• Eight software selectable character sizes 

• 1.75' to 9.5' adjustable feed. 

• Parallel (Centronics) and serial interface. 



PAPER TIGER 

W/ Graphics Option 



. $899 
$1078 



Checks, money orders accepted 
Add $2.50 freight charges on orders under 10 lbs. Over 10 lbs. F.O.B. Cleveland 



QUASAR DATA PRODUCTS , 

25151 Mitchell Dr., No. Olmsted, Ohio 44070 (216)779-9387 



%^ Reader Service — see page 227 



Microcomputing January 1980 105 



come from the computer I/O 
board. I use this same circuit for 
the tape system previously 
referenced; hence I incorpo- 
rated a switch and extra jacks 
for this function. Also included 
on my board is an interface for 
transmission of RTTY using 
computer-generated tones. 

Modifications 

The program listing contains 
delay values to suit the original 
SWTP 6800. The 68/2 has a dif- 
ferent clock circuit that runs 
around one MHz, so certain tim- 
ing changes are required. These 
changes are listed in Table 1. 
The 68/2 does not use a crystal 
clock and may be subject to 
some drift. Since timing is fairly 
critical, particularly in DECODE, 
you should make sure you stay 
as close to one MHz as oossible. 

If you are writing a program 
for another computer, you will 
have to compute your own de- 
lays. The required values for 
MODSPC can either be com- 
puted or found by experiment- 
ing. In this latter case, it helps 



to make a tape recording of 
each of the two (or three) audio 
tones. Play these tones into 
your version of DECODE and 
store the time count obtained 
after each sequence of six cy- 
cles. An examination of the re- 
sults should provide a value for 
MODSPC. Select a point mid- 
way between the mark and 
space counts. 

The program listing accepts 
input from a PIA on I/O board 
MP-C, but you can use a PIA in 
any I/O slot. To do this, one of 
the unused sections of the 
74132 in Fig. 2 is added to the 
circuit in accordance with Fig. 
3. You will have to change line 
430 in the program listing to the 
address of the PIA. The extra 
program steps listed in Fig. 4 
should be added to program the 
PIA as an input. Lines 1290 and 
1300 of the original program 
can now be deleted as they are 
only used with the MP-C. 

Output of the program is 
through a serial ACIA located in 
I/O slot three. Do not try to use 
the MP-C for output; it will not 



I/4 
74 1 32 



TO PIN 8 
ON 74I32 




F 



A7 OR B7 

ON 

MP-L PIA 



Fig. 3. Alternate connection 
for input to a PIA located in an 
I/O slot other than the control 
port. 

work. Otherwise, either serial or 
parallel output can be used. For 
an ACIA, change line 470, PRT- 
DAT, to the appropriate ad- 
dress. If you plan to use a paral- 
lel port, the I/O routines in the 
program will have to be changed 
accordingly. 

If your printer is connected to 
an ACIA in the control port, I/O 
slot one, you have two choices. 
You can use the I/O routine in 
the program by changing line 
470 to $8004 or you can use 
your monitor I/O routines with 
proper calls. One caution: us- 
ing the monitor may cause trou- 
ble for a 110 baud printer when 
receiving at 100 wpm, particu- 
larly if your system has the 
1.7971 MHz baud rate crystal. 



Line No. 

0910 
0980 
1000 
1020 
1110 
1130 
1160 
1180 



Change 

LDA A #$AC 
LDA A #$C2 
LDX #$0D4F 
LDX #$094E 
LDX #$0715 
LDX #$0527 
LDX #$0A6B 
LDX #$075A 



Table 1. Program changes 
necessary with a 1 MHz 
clock. These are computed 
values, but should work. 



The baud rate generated is 
slightly low, and your printer 
may occasionally get behind 
when copying a slightly fast 
transmission. Programming the 
ACIA for one stop bit avoids 
this. For printers with faster 
baud rates there will be no 
problem. 

Receivers 

You will need a two-meter 
(144.5-148 MHz) FM receiver. 
The first choice is a regular 
amateur receiver. Kits for five- 

































>- 
oc 








^s 
































> 












o 


— 






s. 
































CC 












T. 






<i 


r: 
































o 












Ul 


►- 




^- 


^ 
































X 








_J 




s: 


o 




0. 


































Ul 




u 




_J 






J 






u 
































•jr. 




o 




«— 




V 


00 




o 


z 








at 


















h- 










z 




3 




■^ 






H 


•— 1 








3 


















U 






Z 




<I 










i 






_J 






z 


O 




>- 




0* 




mm 






*M 






>— 




oc 




r 




(j— 






t- 


N^ 






^- 


>- 




oc 




r» 




^- 






X 














<t 


-1 


3 


h- 




3 














o 








O 


* 




CO 






c 




00 




cc 


_) 


O 


oc 


^- 


a. 


CO 






Q 


u. 




T. 




Z 




CO 


OO 










u 




CO 


r. 


o 


5 


OC 


o 


cc 


z 


oo 






UJ 


•— 




Ul • 




<r 




<x 


U 




3 






> 




UJ 


<z 


o 


u 


<I 


CL 


o 


M 


Ul 






OC 






J- cs. 




"J 






<t 




O 






<I 


<t 


cc 


oc 


cc 








Q. 




oc 






u 


z 




cs. 








00 






oc 


z 




CO 


t- 


a 


o 


a. 


Ui 


00 


-1 




UJ 


o 






•— 


Ul 




z 




CM 




*- 


Ul 




cc 


cc 






<I 


a 


o 




o 


Ul 


o 


J 


cr 


a 






z 


> 




MM 00 




CM 




3 


o 




<I 


3 




U! 


c 


<t 


CC 


i 


<I 


cc 


oc 


o 


z 


<t 






UJ 


Ul 




MM 








a. 


«a 




z 


H- 




cc 






0. 




CL 


•— ■ 


^~ 


cc 


<x 






ro 








U! 




— 




t-~ 


a. 


T. 




u 






u 


cc 




Ul 


00 


3 


z 


H- 


X 


►- 






UJ 


z 




0C 00 




CO 




3 


oo 


CL 


oc 


oc 




z 


■> 


U! 


o 


o 




o 


o 


Z 


o 


3 




H- 


OQ 


3 




UJ 00 




• 




O 




i 


o 






<I 


<x 


e- 


t— 


<1 


>- 


U) 


o 


o 




OL 




O 




oc 


s: 


X ui 




CM 






3 






U) 




o 


00 


z 




a. 


OC 


cc 




o 


* 


Z 




_1 


e- 




<i 


3 OC 








l 


O 


S> 


Ul 


o 








UJ 


o 


00 


o 




T 




H- 


m- 




00 


00 


CO 


oc 


> Q 




r 






OC 


O 


Q 


<I 


a 


^* 


h- 




z 




T, 


r 


CD 


z 


cc 








3 


MM 


cs 


z a 




U 




r— 


oc 


— 


MM 


M 


U) 


MM 


o 


* 


►— 


> 


Ul 


o. 


3 


^- 


o 


U) 




z 


£ 




o 


<t <i 




> 




o 


<x 




3 


cc 


h- 


*— 


z 


a 


o 


cc 


3T 


3 


O 




a. 


a 




•-d 




r 


oc 




6) 






Q 


z 


OC 




cc 


OO 


CJ 


V 


Ui 


cs 


o 






OC 


o 




z 






00 


<t 


CL 


a e- 




3 


3 




o 


OC 


<x 


U) 


00 


U) 


> 




X 


U 


cs 


X 


1 


_j 


<t 




<t 


00 


oc 




Ul oc 




Y" 


<t 


cc 




o 


o 


3 


<I 


:> 


« 


Ul 


Ul 


•_ 


NO 


H- 


a. 


o 


X 




I— ' 


U) 


c 


o 


o <z 


*- 


«~ 


z 


DC 


o 


»r> 


u 




o 




<I 


CO 


oc 


T 








> 


oc 


o 




o 


OC 


o 


1— 


<r t- 


y> 


o 


or 






r- 




o 


u 


z 


CO 




o 




_J 


H 


00 




>— 






<t 


o 


OK 




o oo 


•»s 


Q 


3 


_J 


hi 




X 


z 


cc 


MM 




UJ 


u 


^~ 


o 


<t 


^- 


5 


z 


• 






o 


OL 


o 


_] 


S 


2 




U.' 


Q 


• 


CO 






\* 


o 


CD 


UJ 


z 


cc 






o 


(J-f 




00 


<I 




c 


u 


<1 




> 


mm 


s 


<t 


1 


OO 




t— 




CO 


u 


►- 


00 


z 


3 


o 


o 




Ul 




UJ 




UJ o 


CO 


CD 


_J 


Ui 


3 


>© 






<r 


<I 




O 




■« 


z 


Ul 


o 


O 




_J 




cc 


t— 


cc 


<t 


00 


V. 




_) 


_J 






_) 


z 




t— 


z 


r— 


\T> 


o 


o 


«- 


»■« 


CC 


z 


CO 


• 


•— 1 


cc 


o 




00 


o> 




UJ 




CO 


H- 


_1 




£> 


<I 






s 




o 


3 


H- 


X 


** 




Q 


3 


< 


u 


00 


Z 00 


o 




3 


if) 


U' 


<I 


^— 


cc 


Ul 


a 


cc 


CO 


G 


u. 




Z 


<t 


«— 




oc 


UJ 


o 


H- 


u 


<t 


<C _J 


4 




U> 




h- 




3 


o 


Ul 




o 


1-4 


<t 


u 


o 


MM 


M 




< 


UJ 


at 


UJ 


00 


CO 


X 


o 


T. 


Q 


CO 


<t 


CO 






a. 


a 






1 


3 


t- 


s: 


M 


oo 


MM 


X 


^- 


cc 








a 




<I 


mm 


U) 


_J 


ui 


T. 


3 


oo 


UJ 


> 


<r 


CV' 


00 






_J 


** 


o 


f- 


3 




Z 


Ch 


oc 


T. Ul 




Z 


-J 


> 


3 


e- 


<Z 






> 




t— 


Si 




z 


Z 


<r 




<t 


o 


O 


r— 


<I 


•<? 


o 


< Q 






C5 


_ 


a 


<i 


OC 


cc 


cc 


■_ 


oc 


<t 


G 


3 


a: 


Ul 


».^ 


h- 




z 


W 


3 


cc 


1 


1— 


CC M- 








u.< 


o 


CC 


C5 


u. 


Ul 


UJ 


Ul 


a 


<I 


o 


3 


> 


t— 


3 


X 


<r 


or 


0. 


cs 


cc 


MM 


CT > 






~5 


u 


T 


UJ 


O 


H 


H 


o 


V— 






_J 


f— 


Ul 


•-a 


a. 


H- 






p* 


o 


sr 


z 


O O 








UJ 


U) 


a. 


CC 


z 


Z 


u< 


z 


u 


z 


-I 


Ul 


_J 


Z 


z 


»— ■ 


z 


oo 


3 


oc 


c 


o 


oc OC 






■^ 


or 


o 


o 


X 


Ul 


U! 


cc 


Ul 


^^ 




<I 


oc 


Ul 


" 




3 


" 


C 


O 


a. 


<r 


x: 


CL CL 



— c\ico->i»r>*or-onc>cs.— 

EKS.SSKS-CK — — 

&SS5SSSSS&C 



sscsssGssGercsscc: 

CVJt0^ir>NCr»0TOCS — CXlfO^iTl^O 

— — — — — — — — aacvcvcxiCJCVi 

GGSGGGGGGSSSSSS 



C5 CV^^rJU'OOS 

o sssuji><rss 

ZOUlGCV^*r>>C00<tOQU)GGGGG— Go* 
«U)U'UUUUUUUUUU<I<IvCU}U)U!CC*0 



t-33333333333333333330 
CLOOOOOOG3OOOOOC3OOOC3O0C 
OUJUJUlUlUIUJU'bJUlUJUJUIUJUJUIU'UJUJUlO 

OH- _l I- 

— CV CO <I OL mmU!H-CO— CV^-CC <X 

— CVCO^U' 00 — CV.mmOOUCLQ.0l3I— q 

(3CDt5U>QJJUli.>«SJI}rOL2t- *- 
OOCOOOOO<XOU' U100UXUIU1UJ70=)ZCC 

s:xzs:oorQQ<iooo»-H-H- — oommq. 



(JlxlGCv'^in^lCvIUQlilCVl^ ■nTCOUIOCJ 
UJUlUUUUUUUUUUGGGU!r><IG 
GGGGGGGGGGGGGGSGG— G 
GGGGGGGGGGSG<T<XacUJU}UJ(r 

G 
G 

ON 
NO 

GGGGGSSSSSGGGG GGGGGGG 

cco>g — (\jn^iiiior»oc(>s-iVi0^irtO'»'ir 

C\JCMCOfOfOfOCOCOCOCOCOCO'Nl'<T'*T'Nl - 9^'^ ^^ 
SSSSGGGGGGGGGGGGGGGGG 
GGGGGGGGGGSSSS GGSSSSS 



00 
0C 
UJ 



O 
OL 

Ul 

M 

-I 



S 
G 
UO 
G 
G 



o 

<t 
I— 
CO 



00 
oo 

UJ 

oc 

a 
a 

<t 

lr- 
0C 

»- 

00 

X 

o 



00 
00 CC 

U) u* 



u 
o 

cc 

00 



o 

CL 

Ul 

ISJ 

_1 



Ul Ul 
00 u 



Q t-M 

z — 

— z 

U. MM 



-q to 
s» ^ 

<I G 



MM — CM 

M- — CM 

O O CS 

J) 00 00 

<r x: r 



♦ ♦ 

CO'nI — C5 CO — CVJ CO 

(0-9CSCLCL— COO. 

cDcsooxxrcroos: 
oo oo j: ui u oosrui 
x: x: % 



H-l- T. * »- 



<<r<t<r<r<t<t<i 



<i <t 



w<iu<r<t <to<t<t>cx<i<ixx 

OQZH-H-»-ZH-e-Q HO h- Q »- 
_J_) — 0O0O0OmmOO0O_J0OI_J0O_JCO 



r- co <x o 

SS <XUU1 SCL<t UJ U. Q <t U) 
<T<t U UJ UJ UUsOUUU'nOU 

ui sOor-r^ r-o^f-uiUNOr-u'U 
eom^^o^o><ioff'0 Q o* & o q 

G«ovor'a*oQQUiGC\iirtr-ONCCUi 

GGGGGGSS — — —— — — — 

vC >C v0' O >C vO nC nC vO nO >C nO vC nO nC 
GGGGGGGGGGGGGGG 

wr;<iin«o^(tff>s- cvio^invo 

Lninini/iu">i/">ir>ir)NO\Cvc>ONC>CNC 

GGGGGGGGGGGGGGG 
GGGGGGGGGGGGGGG 



106 Microcomputing January 1980 







§ 




















H* 






















o 




















M 
















«t 


♦- 




a 






1- 














CL 


•— 














t- 


z 










2 
















2 










<x 




€ 


3 




Q 






3 






fr- 








<r 


3 










e- 




a 


O 




2 






O 






2 








*- 


o 




o 






<r 




H- 


u 




O 
O 






a 




2 


3 
O 








<i 
o 


o 




CC 
Ul 






a 


fr- 


c- U' 2 

2 1-3 


Ul 




ui 


2 




UJ 




<t 


O 




Ul 






Ul 




N) 






o 


2 


« <I O 


s: 




en 


*— 




r 




O 






o 


Ul 


f- 


r. 








t- 


H- 


3 


_J O 


U M 


r*- 




<I 




i— i 




<I 


1— 


fr- 


<x 


o 


tO 


•_ i 




<r 




•— 


7 


o 


tO tO 


_i »- 


U) 


UJ 


tr 




i— 






^— 


2 


a. 


<I 


or 


e- 








CC 




o 


«- 2 «- 


o 


o 


ir 


<i 








3f 


a 


3 


CO 


0. 


•— i 






to 


<r 








•-< ^ •— • 


>- UJ 


<I 


<I 






Q 




O 




O 




to 


u 


U! 




•— i 


h- 


>• 


O 


e- 


cc or cc 


O _J 


a. 


s: 


* 




2 




<t 


a 


O 


<i 






_J 






<r 


or 


or 


^-i 


»- 


o 


to 




a 




O 




00 


<t 




1— 


<t 


or 


o 




2 


a 


or 


Ul 


CD 


<I Ul 


e- >- 




o 


UJ 




O 






o 


f- 


<I 


fr- 


o 


> 




U) 




<x 


M 




fr- O > 


to o 


<i 


u 


X 




u 




o 


j 


•— • 


a 


<I 


u 


o 




X 


a: 


o 




cr 


<t o <r 


or 






CJ 




to 


C»- 


o 




CD 




Q 






c»- 


«- 


Ul 




Ul 


Ul 


q to 


— X 


*- 


1 








UJ 




i 




a: 




> 


T 


Ul 




> 


or 


t- 


> 


• 


u. o 


»— 




1 




U' 


o 


1 




Ul 


<r 


UJ 


<t 


o 


o 


1 


o 


<t 


<I 


o 


U) | 


fr- 




CO 






"St 


<I 




tO 


> 


Ul 


■> 


_J 


H- 


<I 




u 


Ul 


e- 


o 


> to 


it u 


to 


U) 


o 




<I 


a. 


o 


UJ 


<t 


_j 


<r 


UJ 


U) 


a. 


o 


U) 


_J 


o 


Ul 


~ Ul o 


o u 


' — 


>- 


2 




s: 


to 


2 


>- 


to 


o 


m 


a 


U. 


lO 


2 


0C 


o 


or 


or 


U >- 2 


UJ 


o 










o 














U) 


o 














o 


Q- 


H- 








0. 












>- 


a 


0L 














o 


tO 


_ 


H- 


t— 


*- 


lO 












<t 


o 


to 














o 


a 


a. 


a. 


lO 


Q. 


O 


H 










_) 


o 


Q 


U) 










o 


_) UJ 


o 


e- 


or 


U' 


CC 


o 


a. 


m 








U) 


U) 


O 


2 










tO 


O Q 


s: 


to 


X 


H 


X 


T. 


QC 


* 








o 


a 


r 


O 










<t 



U. 1 — (- 

2 CO <t 

a a 

<r h- x or 

a u: u* 

>- 2 > 

Ul <i o 

>J»-U 

<X Ul U' u 

to q cs or 



Cv 

>- 

<t r- 

_) K 

Ul UJ 

Q 2 



u c 

2 f- 

O <I o^- 

C i i— 2 

O 2 — 

t- o r 

r- O to 

^- 2 O I- 



tr 

UJ 
>- 2 

or o 
or 

<X U' 

u t- 
<t 
f- ^- 
ui o 
to or 



r— CL 



a 

ui 

<I 
_J 
(O 
2 
<T 

or 



2 
O 

a 



c 

Ul 

■> 



o 



m a 

ui ui 

<i <i 

to to 



_) 

or <i 

•-X 2 

»- «o o 

^- CD « 

CC •— r- 

«i a. x o 

H- ^ O U' c 

UJ « Q to U 

2 cc cr 

t- or o > 

O h- r> o U 2 

h- x Q- u <r 

Ul H- ^ CO 

>- 2 ^ >- or or Ui 

<i o <t =? <r _j 

JH Jl- U O 

Ul Ul O U) U! _J >- 

a o is a or o o 



2 t- 

5 2 



to 

3 

o 

_J 

or 

<x 

u 

_J 
o 



o 
u: 



o 
o 

U) 
— _! 

H« O 

>• 

x a 
<i 

U r- 
_l U' 
O -0 



e 
c 
a 



2 
U 



2 I 

*— O «»• 
- O T 

a. tr ^ 

.? U' — o 

-• 3t X _J 

X H- ►— ♦— 

a r r 

h- o Q. a. 

Ul z ? ? 

u — — ^ 



5f 

o 
<r 
cc 

o 
c 

2 
UJ 

X 



u 

-J 
o 
>- 
o 



u. 

2 



2 

S i 

r- O 

r o <*• 

CL 3 

2 U' O 
— T _) 

r h £ 

•- o a. 

UI Z 2 

u — .- 



2 - 



O 



o 

<J 2 

or 

uioi- 

2 Ul 

• or 



u 

U 

a 
u 

c 



U' 
2 
O 

c 



I 

to 

Ui 



or, 

<i 

c 
a 



to 

a: 



iK 
O 
U. 

>- 

c 

_J 

UJ 



to 



CL 

U) 
UJ 

3 

u< 

a 

> 
<r 
-J 
ui 

Q 



<t 
Ul 

_) 

Ul 

> 
— to 

u *- 

O CL 



<X 2 
f- <1 
<t CJ 

o — 

u 

«- « 

u z 

x — 

to to 



CVi h- CV5 U 

>- <!>-►- h- C 

<t e- q <t or do 

o _jx»-_j<t a.u 

tO UiUlDUIH ZUI 

<T QZOQtO «Q 



o 

to 



CL 

2 -I 
— X 



ts a. 

*H 2 



X 
X 



CD 



CD 



CC CD <I <t 



CD 



^ CD CD CO <I 



oara.(Oor<t<ra..-i<t:rQrxQrara.« 
oio3r_jtoartos:iQ<o_jtototoz- 

ccajoa, CLxa.otr_jQ-oa.cccDo 



X 

U) 

2 



a. to 

2 _) 

— X 

cc 



X 
X 



-J 

u* — 



CVJ 

-J 



o 



q « m hj ujc: <x<tcococa<t cc<i cc cc<r 

«Joorjpoixor<iioccjooiicc<cca:<tojtoo_joar<io_iot/)ojoot?U!toxxuito 
x^JO^ulUJtoto^llr3u'o^;uJUltotocoor<ototJruloou. , oo_ioujo2ouozoui?'f-Quz»- 
cDQ.oo:cLQmcuxcccaQ.toQrcLQmcuCLmcccocDCDtoaciriocciXojtoor^at^ 



OOOU' tOXXUJlOXXUItO 

DUJ7H 
JQODOC 



H» 




►- 


or e- 




^* 


<t to 


H 


CD 


f- UJ 


CL 


H 


to t" 


or 


to 



Ul 

2 
O 



<tC0»O^— 0TQlOvC»T> 
UrOUK^U C0UU.G) 

cvtcQworcMirQcuon^ri 



si mo 
cvj u. s 



n 



n u; 












Ul 
















(■ 




Cvj 








a 
















>- 




>- 








o 




►- 












<t 




<I 


u 






o 




a. 




to 








_) 




_l 


to 






U) 




_i or x 




_1 








u- — 




U' CV. 


<t 






5) 




X XX 




X 


ts. 






Q C 




a a 


u e: ■ — 


o 


r> 


o 


<I 


O <X O S. 


o 




6. 


a 


u 


»c 


o 


co o 


Cvj UJ O 


(X 


o 


GO 


u 


co u c cr 


u 




or 


u. 


Ul 


u. 


u. 


u. u 



o 




a 




d 


<x <I 


<t 




CD 


or or 




to to 


Ul 


_i _j 


a 




o 


►- 


o 


<t 


UJ 


Q 


a 


l- 




3 


* 


O 



qq— cvjcvio^nKi^r^vOQsaQ^n^r^r^^QSQQtsQ^inQ^^UNOQiyoiOQo^o^^^cruov^ 

ff(rQ(\jOK^o^anrff(\ins^r)tr(v)nnBWococwSN(vf:Ncviiritcf-incvs"»ircv<icvinQca 



P? Q K. CVJ CO 

iscociu. — oinr-cc t><rouic;cvjfo^»o>or-c><icoQu.c— cv.n-v>or-oo<t>uiscv,n>ccra-ouju.— cvjio>ccraoQu.e:cvir)iinNCco(rcDou: 
ccmmmcocDccoooooooooQQQQQQaQQQQQUiu)ujujujuJUJUJujujuiu,u.uuu.uu.uu.setscic.etse.s.— -. — _ — ,_i_iz t_Zl 

sssststs&sstssstsciSKSs;SESc.sK«ssssc.s:tsstspisis)Stss!sctssKS.6;c.stsss.KK.se:e.e:c.Kc.Ke:KK:KKi 
c*(S— t^r)^in>CMf^s- wn^ino^BooMS-cvinsiir^^tf^e- cvjn^ui^or-a5<^s— cvin^io<i^ccr>s — an^invo^trc>s— ctro^io 

B 



iSSSKSSSSSSSKSSSSSSSSSSSSSSSSSSSSKSSSSSKKSSSKESS&SKSSSESSSSS^CKSSS 





<J 


■q 




•^ 


^ 




u. 


G. 




•— 


Cv, 




<I 


<I 




>c 


o 


s 


G. 


(S 


r- 


o 


ts 


S 


c 


_ 


CVi 


CVJ 


CVj 


& 


a 


s 



u 
to 
u. 
u 
o 



to 

or 

U! 



U) UJ 
_!»-_» 
CC U! 

<a to or 

1- u o 

u. u 
— o 



X 

to 



j- a. 

U. 3 

I © 

tO >C 



o 

to 

<t 

o 

2 



2 U 

I 

U) to 
or 

o ^- 

►- ui 

to to 



CO 

l- 
o 
-I 
to 



♦ ♦ 



♦ ♦ 



co Cvi n co rj co •q 

a.woa.D.nca. 



T. 

u 



c to 

tO T. 



u: to 



<I <I 



to r 

T. U! 



♦ ♦ U) 4 

n r ^ j ■- h 

a. <» cd n- u. 

z: o <x o « 

u 1 to h- to x 

»- s: % <i to 



<t <i 



<i <t 
<r<ix>c<i<txx<t<ixxa: 

_JtO_JtO_JtO_JtO_)tO_JtOO 



o 

<I 

u 



<I 

a 

»- co Q 

or s x ^ x 

a. «a « ¥« % 

* » s. » c 



c <t <t <i 

x <t <x <x <i 

Q Q H- a h- 

_I _) to _J to 



to 

or 

U) 

•- 
u 

T 

<I 

or 

<r 

a. 

cr 

2 



<r 
or 
ui 
a. 
o 



ui 
to 



X 

to 

Ul 

a 



or 
o 
u 



ui 
to 



3 3 nr 

o o o 

or or u 

or or 

<r <i to 

2 2 > 

<r 

or or _j 

o 3 o ui 

o u. o 

u; ui or 

QQCtHH 

— — <X UJ U) 

3 3 Z <0 tO 



tO 

O - 

U) 

U) « Z 

a. or r- ui 

to c- cc s: x 

s: a. t- 

»- 0. I 3 
3 3 i 

a. to c 

z «n ui s o 

~ r- >- — Z 



CL 

3 

ts 



T. 

CL 

3 



c*- 

<t 
h- 
<r 
o 

Ul 

> 
<r 
to 



o 

<t 

u 



2t U) 

to to 

c- Z • 

to UJ 
U) X o 

> »- z 



or 
o 
a. 

_j 

o 

u or 

V h- 
_> Z 

o 
o u 
z 
a z 

o 
or 

v o 
o x 

o 

t- UJ 
CL _J 

*- _J 

3 M 

o -x 



o <n -q 

CL U *C CVJ 

r^ u to cc — cr a cvj 

iTOCQS JK JO 
»)>CWOVtUJtf*U]U) 
*tO%j:*Q%Q^ 



a a 

r- — O — -9 Cvj 

cotnn>s_jts_j 

Z t* r- ^ <i w> UJ v-i UJ 
i-i*tO*tO*Q%Q 



a cc 

«n os r: 

c> — no cv co 

>& JE J15H 
C*»UJ*»U)t03Z 

W»Q*QEOMM*>-(fl5:0*M 



CO 

♦ 

"q ►- 

UJ os uj ^ o 3 

>to<r>a^-cocL 

<IWU)<It03*>Z 



a 

cl — 
r- to — 

^ O tO 3 Z 

* T T O « 

<t<t<t<r<i <t<i <i <i<t 

<x<rxJrorcLO<t<txxxxxQrQca.C5CLUixxxx<ixxxxxccQr. ocCLOoxQc<i<r 

Qt-QlflWj;ii)QhDhQhDtf)Wi;iil£ZQt-0*-Q:Ot-QHQWWJ£liJZOVlQH 

jMj-)-)omjwjifljwj-sToiriO(EjtfijaiccjiflJwjT-)ouin»-jTj!fl 



sC 

to 



ts 
to 



in 
to 



to 



Ul 

>• 



SI 

<I 
or 
a 
o 
or 

CL 

u 

> 

UJ 
Ul 

or 

u. 
o 



or 

<i 

tO 



z 
o 

— _) 
•- <r 
o z 
<I cs 
or m 

U tO 

>- u 

2 O 

to 
or ui 
<i _j 
uj u 
_i > 
u o 



2 
O 



or 
o 

CL 

3 
O 

-J 

Q 

or 
<t 
o 
to 



3 
CL 
2 X 

— O 



3 
CL 

2 



(J JlflU J 
UJ O O UJ o 

to or oc to or 



i 
o 



-I 
o 



•q co <i a 

— cv» co u 

UU-CDU'U.— CCUIU-COCCCtS 
U.UlsCU.U.UvCUU.U.sOU.tS> 

sOr^uiu.sor»uiusot^uJuu, 

0sCAOO0N(>C_>Q0S0NOOr«" 

tSCV^P-OsCDQCJCVi^sOosCD 
CvICVjCLCVJCVjCVJCVjCOCOCOCOCOCO 
O v > i0 v 0^^C^0^0^O v O>0^Ch0^ 
sOsOsOsCsOsOsCsOsOsOsOsOsO 

KK.K.-C:e:iSK.K.G.K.KC«. 

r*-enos<B — cvjco^invOr- tjcos 

sOsOso^r*^p*^-^-r*-r«. r»r* 

SKCKS£SESSC CSS 
SSSSSSKSSSS c c 





o 














ts 














IS 


CO 


s. 


o 


ts 






cc 


s 


(S 


■q 


<s 






U' 


sO 


p* 


sO 


p- 






a 


00 


<t 


cr 


<t 






Ul 


«■ 


CO 


m 


^» 






CO 


^ 


^ 


^ 


^ 






OS 


Os 


CJs 


Os 


OS 






vO 


sO 


sO 


sO 


sO 




<s 


s 


<s 


ts. 


ts. 


ts 


s 


— 


CO 


<r 


m 


SO 


r^ 


t> 


cr 


oc 


cc 


00 


CO 


CO 


CO 


<s 


ts 


S> 


ts 


s 


s. 


ts. 


s 


S) 


s 


s 


s 


<s 


ts 



UJ o 

r*- m o s — 
osuujujujinc.<iuis>us>u.u;ujujco — co — s 



in^q" ui u qcvj qcc uio^ ^uip- 

u.so r*^ in^ ino r~<u u. r*- s 

^oincoNOoooouis— r*»s— ^CNOsO'q'cp^osOvocrss— soscoscvjsos 

~usu.ssu.su.u.uiujsinsQ}u.uicocc 



s 

s <t 
CO u. 



■q 
c 
<s 
cc 



nOP-UIOQ— t*'sOp^UIU.UlU.UIQQ— r- 

ccosococococvjorosooooacQcooccv. 



— sOuiUUlUSUlUU'UUlOCU.— f^OUlOsOr- 
COCVOQOQCv:oQOQC)COCLr*-ccCvjr-QcOorCD 



osCDQu.cvjmr*cjsCDQGCvjmr^osou.— coinp-<ou. — cosococoou.cv;incc<tou. — ■q'so 
^ ^^^■ininininininsososOsOsosOsoi^-r^r-' r»r*r»r*-ocorcrecor*ooocosososososc>s^^^ 

sO sC sC sO sO sOsOsOsOsO sOsOsOsOsO sOsO sO sC sO s0s0sOs0sO^sOsCs0s0sOs0sC^)sC sOsCvCsOsO 

— cvjco^mso^-ccoss— cvjco^tnso^onoss— cvjco^m>or»tcoss— cvjco^insor^ccoss 

OSOSOSOOSOOSOSOSSSSSSSSSSS — — — — — — — ——— CviCVJCVJCVJCVJCVJCvlCVJCVOJCO 

SSKSSSSSS— — — — — — ———— — — — — — — — —— — — — — — — — — —— — — 

SSS.SSESSSS SSSSSSS SSSSSSSSSSSSSSSSSSSSSSCS 



ts 

CVJ 
CO 



o os in o os 

tS r» CV S '*- 

O- <Z Q U fS 

<I <t <t <t CD 

CJs C^ Os 0** 0^ 

sO sO sO vO sO 

s s. s s s 

51 m \0 r- oc 

CO CO CO CO D 



s s s ts s 



Microcomputing January 1980 107 





















or 
























UJ 


or 






















H 


UJ 




















oc 


Z 


^« 


•— 1 


















UJ 


M 


2 


tad 


















1— 


o 


■— 


o 


















z 


a. 


o 


CO 


















— 




a. 


<I 


<*. 
















o 


o 




<t 


z 
















a. 


t- 


u. 


O H- 


OK 




















o 


1- <t 


r> 
















o 


h- 




a 


h- 
















^- 


u. 


cc 


a: 


U! 


















tad 


CO 


UJ - 


oc 
















UJ 


X 

co 


_) 


z o 


UJ 


UJ 






r. 




<»• 




CO 




z 


ta- CO 


cs 


UJ 






CO 




CO 




u. 


cs 


.— 


o <I 


c 


u. 




<»• 


UJ 




CC 




u. 


•— i 




a. 


tad 






UJ 


or 




UJ 




o 


u 


UJ 


X 


a: 


UJ 




u 


3 




H- 








oc 


Q O 


CC CO 


Z 


CO 


<t co cr 


CO 


»- 


CO 


o 


a 


o 


<t H- 


C UJ 


•— • 


u 


Q,U1 


^N 


UJ 


UJ 


UJ 


Q 


a 


H- 


O UJ 


o > 


_) 


> 


co>- u. 


>- 


-J 


>- 


<I 


< 


co 


_J u. 



U H H M UJ I— 

or cm -v m u.cocou.«ta- a: z 

*u*j%w*iL%joM<r<iswQ. 



1- 




















































o 




c 




















UJ 




















































c 




cv» 










nc 










at 


















o 


















OC 








• 

OC 








* 














o 
u. 










UJ 


















e- 






r- 












UJ 








c 








tp 




a 




















CO 
























> 












•- 








X 








in 




CM 










• 










<t 












1- 






e- 




i- 


h- 












z 








<J 








w 




*« 




















M 












u. 






UJ 




u. 


0. 








<*• 




•— 
















* 




•> 










cc 










a: 












■— 1 






CO 




tad 


s: 








o 




o 








t- 








o 




<I 


r- 








o 










at 












X 






u. 




X 


UJ 




2 




UJ 




a. 








CO 








<I 




o 


CM 


















<r 




a 








CO 






u. 




CO 










■> 


0. 










<I 








k» 




w 


«^> 






u. 


r- 




u. 






o 




UJ 
UJ 








UJ 






o 


u. 


UJ 


UJ 




<1 

to 




CO 


>f 


U 




o- 


UJ 


-J 






OC 


« 

n 








• 




U. 


« 




u. 






T 


<r 


u. 








OC 






UJ 


_ 


cc 


OC 




<r 






CO 


<i 




-J 


z 


H 




OC 


UJ 


IT 


• 


o 


n 


•* 




ft 


nC 




ft 






t- <r 


t- 








UJ 


I 






OC 


X 


5 








<t 


UJ 




or 




-J 




z 




UJ 


fr- 


«^ 


cs 


V* 


«* 


V 


1 


U 




V. 


u 






•— t— 


<i 


UJ 






a 


o 






r> 


CO 


CD 


<i 




>c 


h- 


cc 


z 


o 


<t 


5 


h- 






«- 


z 


•> 


cc 


» 


% 


• 




u. 


or 




u. 






3 <r 


a 


z 






<t 


tad 






a 




•— » 


i— 




o 


<I 




UJ 


t— 


H- 


u 


z 


cc 




z 


tad 


G. 


o 


s> 


■q 




<*• 


V* 


UJ 


1 


y-> 






a 










a. 


u. 






tad 


cc 


U. 


<r 




o 


Q 


o 


X 


co 


<I 




o 


a. 




tad 


o 


a 


o 


« 


CM 


•e 


t- 


ft 


i— 




<« 






<i 


l~ 


-J 






CO 








u. 


UJ 




a 




_J 




fr- 


H- 




Q 


>- 


u 






o 


CL 


*i 


a. 


c? *- 


^• 


U. 


u. 


2 


T. 


u 


i 




UJ 


D 










cc 








»- 


OC 








e- 






X 




cc 




1 




Cl 




% 


>- 


« 


«» 


c* 


tad 


u. 


UJ 


a. 


u. 






a or 


0. 


a 






a 


<I 






a 


z 


<x 


<i 




1 


z 


<r 


1 


o 


UJ 


o 


1 




H- 




UJ 


— 


X 


MD 


o 


^" 


X 


¥-, 




3 


v-< 


<*• 




<I o 


H 


<r 






<t 


UJ 






<t 


H* 


UJ 


_ 






tad 


•— 




fr- 


■> 


r 




CO 


tad 


o 


> 


^ 


3 


IT 


o 


6) 


co 


ft 


<*• 




ft 


<r 




o «- 


3 


o 






o 


_J 






o 


o 


J 


o 




o 


OC 


<i 


o 


UJ 


<r 


UJ 


o 


UJ 


X 


z 


<r 


^ 


_I 


Vi 


k^ 


vO 




u. 


Q 


(S 


u. 


H 


■q 


_) CO C 


_j 






_j 


o 






_j 


a. 


o 


<i 




z 


ou 


o 


z 


u 


co 


T. 


z 


> 


u. 


^- 


CO 


• 


Nl 


» 


« 


* 


z 


u. 


UJ 


c 


u. 


<r 


c 






















































<c 


t- 


or 


r» 


CM 




<4i 


UJ 


^ 


Sfr 


c 


*i 
































_ 






















s 


>T 


iT 


r> 


^s 


OC 


ft 


CL 




ft 




« 
































4 






















V* 


o 


w. 


<+> 


5 


o 


<r 


CO 


uo 


<t 


UJ 


<i 




























»- 




h- 
















_1 






» 


u. 


« 


« 


IT) 




<£ 




r* 


(S 


> 


k 


UJ 


h- 




UJ 


l— 




H- 


UJ 


(- 




i- 


e- 




<I 


Jr- 


<x 






ta- 




CV' 




fr- 


OC 




— 


•P 


z 


o 


00 


^^ 


3 


*• 


1- 




^ 


c 


w 


o cc 


Z 


<c 


or 


z 


® 


u. 


CC 


z 


c 


u. 


u. 


CVJ 


Q 


Z 


Q 


UJ 


OL 


a. 




CL 


fr- 


z 


H- 




a. 


^ 


"*> 


■g 


n 


•• 




« 


<r 


« 


ft 


CO 


ft 


s o 




6> 


o 




CM 


1— 1 


o 


•— ■ 


CM 


M 


tad 


<s 


^- 




fr- 


■> 


tad 


T. 


X 


s: 


z 




z 




V 


^. 


cc 


^ 


w 


~- 


« 


^Q 


X 


<s 


<J Q 


ft <I 


Q 


«■ — 


oc 


tf» 


i— 


a: 


t* 


X 


H- 


OC 


^ 


X 


X 


w 


a: 


DC 


OC 


<z 


V 


UJ 


« 


U' 


o 


OC 


o 




UJ 


% 


Q 


•» 


ft 


ft 


r- 


s.«s 


3 


>c 


c: s 


n s. 


6. 


% CO 


a. 


% 


CO 


a. 


* 


CO 


CO 


0. 


* 


co 


CO 


* 


0. 


0. 


0. 


CO 


CO 


f- 


s 


*- 


o 


0. 


o 




h- 


o 


• 


o 


r- 


* 


— 


*l Vt 


V 


V 


«* «^ 


— ** 


V- 



<I <x 



<I <I «I 



ocQ.C3a.oQ.oa.ocLOQQ<ix<iacocco 

CO^UJJlUJj-UJSUJXUJQClfr-QQcOCOf- 

_ioccococ3oQoacocc<i<ico_j_jQcocac 



<x <i <r <i<t cocc<i <x 

<iocQcco<tococco<iocacacco<i«coocco<iQO<icoH-uj x <i x ui k a. x xcomococcoo cccc ooccccoccclq 

Qc0C0»-QC0C0H-Q_JC0C0J-QI-h-Jt-Q2UJ«— H WZ O H O. Z W S Z I— t-OOOOOO OO OOOOCJOOZ 
JCCmOCJCDCECt:joajCuKjCOOCOD^J < IODCOOCH«CDJCOOOCCD^«COOCU.U.U.U.U.U.U.U.U.U. 



OOU.CMCVJ'^-^ODCCU.OOQCOCGU.CVJ 
K. — C£ CVJ KCVJ — CM — CV-U. U.U.U. <S CvJ CM 



a: 
o 



Q or CD 
K. CM — 



u. 

-J 



S. CM — 



a. 
co 

a 

u. 
s Ci r- <i 
CV. s. — s 



o 



S Q 
CVJ u. 



CO z 

ac tad 

f- OC 

_l 0l 



a 
u. 



O Q 
CVJ S. C* K. 

k oo u. on 



UJ 




u- 










OC t- 




0- -J 


— 


CV. 


n 


<j 


o z 




tad cc 


O 


CT 


o 


o 


H O 




X <I 


CO 


CO 


CO 


CO 


co o 




CO H- 


T 


T. 


s; 


?: 


^r cm •q n 


Cv: 












U. O Cj UJ 


S. 












onos.sir>^s 


C 












s<-(rs<(suu 


<I 













^-^ta^ta^-^-^lIl(IlMll>ooQ(^'^!QO(^^ooo^^«oll.QOo<l^(Ml > (^ l O^^^(^Q>cl^)^u*oolIllrl^■t^e^K^oc^o^^^Q(1^Q 
^oocMorcMorCMoocv»oocMc*^^o<iooornoror. orcoorrcoonor^wornooc*^ 

--CM^>oor<touJocM^>cor<rouJECM^*tnr^acDouje:cMr)inop<ioQU.-- CMir»MOorcQQ© — ■q>ca>muj®cv.«n>cc^<iniou.<'<iccocMCMC , i'q<ir-oo 
<x<i<t<r<i<r<i<rc<i<i<t<r<i<x<t<r<r<r<r<t<i<r<t<t<t<t<t<i<i<t<i<i<t<i<t<t<r<t<t 

— cv; n <r in >o^ cr a c - wn^ui>CNcr^s- CMr>^'ir»M0r*0DCNS — ftjn^io^^tt^s- cMO^co>Or^ooovCS-— cv.ro'q-OMDr-ono^s— •CMn , qif>MDr-cr<> 

CMCMCMCMCMCMCV'CMCV,CMWCMaCMCMCMCMCMCMCMCM<\JCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMCMW 

GSGSGGGSKGKSGGGGGGGS5GGGG&SSGGGKSKGSSGGGSSGGSGGGGGSSGSKGGGSGGGGGGSGGG 



or six-channel receivers are 
available for about $60 to $70. 
These are crystal controlled so 
a crystal for each frequency 
used will also be required. Con- 
sult the various ham magazines 
such as 73 Magazine. 

Another choice is one of the 
many PSB Hi band VFH scan- 
ners around. These are often 
excellent receivers, and many 
cover at least the important 
portion of the two-meter band, 
146-148 MHz. Even if their cov- 
erage is listed only down to 148 
MHz, most will operate at the 
lower frequencies. Many hams 
use these for monitors. 

The last choice is one of the 
tunable PSB receivers. Their 



0430 


INPUT EQU $(NEW ADDRESS) 


0811 


LDX #INPUT 




0812 


CLP, O.X 




0813 


LDA A #4 




0814 


STAA1.X 




Fig. 


4. Progra 


m additions 


for 


use with a PI A, other 


than the MP-C, 


for input. 



main advantage is you can tune 
to find RTTY signals, recogniz- 
able by their chirping sound. 
Their main disadvantage is lack 
of sensitivity and poor selectiv- 
ity. This means that in the pop- 
ulated areas where there are 
many stations, interference is 
likely. Also their poor sensitiv- 
ity, particularly in the lower- 
priced receivers, requires a 
stronger signal. 

If you already have a good 
communications-type short- 
wave receiver with an FM detec- 
tor, another possibility is to add 
a converter. Converter kits are 
available for under $40. This 
method has the advantage of 
requiring no crystals, and you 
can tune the entire two-meter 
band. 

Reliable range of two meters 
depends largely on the antenna 
height of both transmitter and 
receiver. When two stations are 
communicating directly to each 
other, alternately using the 
same frequency (Simplex), 
range may vary from a few 
miles to 10 or 20 miles, al- 



though much longer ranges are 
obtained. A repeater is a device 
that receives a signal and re- 
transmits it on a different fre- 
quency, usually with higher 
power and from a better anten- 
na location. Through repeaters, 
ranges of maybe 30 to over 100 
miles are usual. Many localities 
now have RTTY repeaters oper- 
ating. 

How do you find the fre- 
quency^) used for RTTY? The 
best way is to ask a ham. Our 
local computer club has a dozen 
or more ham members, so try 
your club. If you don't know any 
hams, maybe a friend does. 
With a tunable receiver, you 
can listen. If all you hear is 
voice, keep listening, particu- 
larly in the early evening. Even 
RTTY repeaters are used more 
for voice than RTTY. If yours is 
a crystal-controlled set, then 
you must find the frequency in 
order to obtain the proper crys- 
tals. 

Some Possibilities 

Amateurs are not permitted 



to broadcast one-way signals, 
so a ham buddy cannot legally 
send to you, a non-ham. But 
suppose a couple or more hams 
in the computer club arrange a 
schedule to transmit programs 
back and forth to each other at 
8 pm Tuesday. There is no 
reason you shouldn't eaves- 
drop, and if you cannot hear 
one of them, possibly the other 
is on your side of town. 

Programs can be stored on 
tape instead of being printed. 
They can then be loaded into 
the computer or printed from 
the tapes. It makes no differ- 
ence what your tape baud rate 
is; it will simply take much more 
tape than usual because of the 
low speed of incoming data. 

If anyone would like to try 
this program but doesn't want 
to key it in by hand, I can fur- 
nish an object tape for $4. 
Please specify starting address 
of 0100, 2000 or 6900. Alternate- 
ly, I could provide a tape copy 
of the assembler program for 
the SWTP Co-Res Assembler. 
All tapes are 300 baud KC.B 



108 Microcomputing January 1980 



r 




- \ For Apple II 1 1 1 




SCORE»0Q000 HI-SCOPE-00000 



VADE ** 



~>p? MYSTERY 
*-30 POINTS 
*-28 POINTS 

' -10 POINTS 

■ 

MIT ANY KEY TO ESCAPE 




The Game That Drove Japan CRAZY! 






• Features superb high resolution graphics, nail-biting tension and 
hilarious antics by the moon creatures! 

• Self-running "attract mode" of operation for easy learning and 
demonstrating of the game. 

• As good in every way as the famous Invaders arcade game. 



• High speed action ! 

• On cassette or 5" floppy disc 

CS-4006 CS-4503A 

Only $19.95 



Requires 24K Apple II with Integer Basic 
(main program is in machine code). 



Order Today 

Send payment plus $1.00 shipping and handling in the U.S. ($2.00 foreign) to 
Creative Computing Software, P.O. Box 789-M, Morristown, N.J. 07960. N.J. residents 
add $1 .00 sales tax. Visa, Master Charge and American Express orders may be called in toll 
free to 800-631-8112 (in N.J. 201-540-0445). 



• Sound effects! 




^C169 



r 



Produced under exclusive 
license from Cosmos Software, 
Astar International Co., Ltd. 



V 



sensational 
software 



creative 

corapafcireg 

software 



Creative Computing 
Software 

P.O. Box 789-M 
Morristown, NJ 07960 

Dealer inquiries invited. 



iS Reader Service— see page 227 



Microcomputing January 1980 109 



Leslie R. Schmeltz 
3224 Magnolia Ct. 
Bettendorf I A 52722 



"Core" and More 
for Your Apple 



You've yawned through the games. For serious computing, you'll need accessories. 



A personal computer is much 
like a Barbie doll— once 
you have purchased the bare 
unit, the price of wardrobe and 
accessories can easily equal or 
surpass the original price tag! 
Small wonder the new micro- 
computer owner feels in- 
timidated by the vast array of 
hardware and accessories avail- 
able for his system. 

Like you, I studied specifi- 
cation sheets for quite a while 
before purchasing my Apple II. 
The standard features included 
are impressive, but by no 
means complete. My applica- 
tions are different than yours, 
so our systems must be con- 
figured differently. The stan- 
dard 16K Apple II can do a lot of 
processing, but you must have 
a TV monitor (or modulator) to 
see what it's doing and a 
cassette unit to store what it 
has done. Perhaps your dealer 
included the cassette recorder 
and modulator in the price; if 
not, you have already started 
the process of accessory pur- 
chasing. 

Once you have played the 
standard game a few times and 
(I hope) studied the excellent 
documentation supplied by Ap- 
ple, you will probably be itching 
to begin your own applica- 
tions. If you purchased your Ap- 
ple II with full 48K RAM, disk 
drive(s), I/O cards, modem, 



Survey results. 



(402)987-3371 24 hours 
NO CC/M.O.-none/Cat-Free 



ATV Research 
13th & Broadway 
Dakota City NE 68731 

• '•Pixie-Plexer" (PXP-4500) for advanced designers, experimenters and 
builders desiring to work with color and/or audio as well as b/w video signals. 
$24.50 

• "Pixie-Verter" (PXV-2A) rf modulated oscillator $8.50 

• Video monitors. 

Advanced Computer Products (714)558-8813 8-7 PST 

1310 "B" E. Edinger All CC/M.O.-$10.00/Cat-Free 

Santa Ana CA 92705 Items guaranteed. 

• 16K memory expansion kits with instructions and jumpers: NEC 
UPD416-1 (200 ns)— $89.95, Toshiba 4116-4 (250 ns)— $89.95, Hitachi 
4716-4 (200 ns)— $89.95, Mostek MK4116-2 (200 ns)— $89.95 

California Digital (213)679-9002 8:30-5 PST 

4738 156th Street MC, VISA/M.O.-none/Cat-Free 

Lawndale CA 90250 90-day guarantee 

• NEC UPD416D 16K memory chip set 8/$65 

• Digicast AV/100 rf modulator $29.95 

Candex Pacific, Inc. (415)364-8427 9-6 PST 

693 Veterans Blvd. No CC/M.O.-none/Cat-none 

Redwood City CA 94063 (data free) 30-day guarantee 

• Tape activator controls audio tape recorder from the game I/O connec- 
tor. Can control other devices not exceeding Vi Amp current. Has connec- 
tor for game controls or another activator. Each model addressed by a dif- 
ferent POKE command, if multiple units are used each must be a different 
model. Model numbers: 100-00; 100-01; 100-02; 100-03. $39.95 

Circuit Specialists (800)528-1417 

1344 North Scottsdale Rd. (Box 3047) MC, VISA/M.O.-$15 phone, mail- 

Tempe AZ 85281 none/Cat-Free 

• Pkg. of eight 4116 16K memory chips $159.95 

• EPROMs, ICs, components. 

Deltroniks (404)458-4690 

5151 Buford Hwy. MC,VISA/M.O.-none/Cat-Free 

Atlanta CA 30340 Memory chips 100 percent 

guaranteed. 

• 16K memory expansion package $80., 32K $160. 

• ICs, components. 



110 Microcomputing January 1980 



printer, etc., this article may be 
only of passing interest to you. 
I suspect (from personal ex- 
perience and an informal sur- 
vey of owners in our local Apple 
users group) that most com- 
puter hobbyists start out with a 
"plain Jane" system and the in- 
tention of adding hardware and 
accessories as interests 
develop and finances permit. 
Many of us in the latter group 
(you know— the ones unable or 
unwilling to commit several 
kilobucks to our initial pur- 
chase) have now reached the 
point of looking for ways to ex- 
pand the capabilities of our 
systems. 

Many applications require 
additional hardware (and soft- 
ware) of a specialized nature. 
Amateur radio, for instance, 
could use audio-to-digital con- 
verters, antenna rotor controls, 



ASCII-to-five-level conversion, 
logging systems, repeater con- 
trol and ac controllers, to men- 
tion only a few of the countless 
possibilities. Someone in the 
diverse group of Apple owners 
and accessory designers has 
probably worked up items that 
will be of direct use in your ap- 
plication, but where do you find 
out about them? 

Sources of Information 

Computer manufacturers 
publish a great deal of informa- 
tion about their products. Ap- 
ple literature describes not only 
the basic system, but also nu- 
merous accessories available 
from dealers. You probably 
studied some of this literature 
in reaching your decision to 
purchase the Apple II and are 
already aware of most items of- 
fered by Apple. Unless your 




The Heuristics SpeechLab is one of the many accessory items of- 
fered for the Apple II. (Photo courtesy of Heuristics, Inc.) 



literature is quite recent, you 
may have missed some, since 
new items are continually be- 
ing added to the Apple line. 



Digital Dynamics, Inc. (512)341-8782 9-5 

310 C. Breesport MC,VISA/M.O.-none/Cat-Spec. 

San Antonio TX 78216 sheets free. Defective items 

repaired or replaced. 

• Computer canopy dust cover. Standard color walnut, other colors 
available. $12.95 

Digital Research Corporation (of Texas) (214)271-2461 8:30-5 

PO Box 401247K MC, VISA, AE/M.O.-$10/Cat-Free 

Garland TX 75040 90-day money-back guarantee 

• 16K dynamic RAM chips (250 ns) 8/$89.95 

• EPROMs, ICs, components, etc. 

Electronic Systems (408)226-4064 24 hours 

PO Box 21638 MC, VISA/M.O.-none/Cat-Free 

San Jose CA 95151 Lifetime guarantee 

• National 4116 16K RAM chips (250 ns) $8 

• 2102 1K RAM chips (450 ns) $1.75 

• Apple II serial I/O interface— adjustable 0-30,000 baud, plugs into any 
peripheral connector. Includes operating software. Board only (#2) $15, 
with parts (#2A) $42, assembled and tested (#2C) $62 

• Many other boards and kits. 

Elektrik Keyboard, Ltd. (312)751-1555 10-8 M-TH, 10-6 F, S 

1920 N. Lincoln Ave. No CC/M.O.-check/Cat-available 

Chicago IL 60614 soon 

• Joy Stick— Applestix. Uses everything the game I/O can control. Has 
four paddles, three switches, four LEDs. $180. 

• Multiplexing card. Expands socket into five sockets for attaching extra 
paddles, joystick, light pen. 

• Travel case. Heavy duty, foam lined, metal reinforced flight case. Car- 
ries computer and two disk drives. $199. 

Godbout Electronics (415)562-0636 24 hours 

Box 2355 MC,VISA/M.O.-$15/Cat-Free 

Oakland Airport CA 94614 1 year against defects in 

materials or workmanship 

• Godbout 16K conversion (250 ns) $109 

• EPROMs, ICs, components, etc. 

D.C. Hayes & Associates, Inc. Sold only through Apple dealers. 

PO Box 9884 
Atlanta GA 30319 

• Micromodem II provides capabilities of communications card and 
acoustic coupler, plus programmable automatic dialing and answering. 
Plugs into Apple expansion slot, direct coupled to phone line. Under $400. 






Your local computer em- 
porium can be a great source of 
information. Most manufac- 
turers maintain a mailing list of 
dealers and send literature on 
new products as they become 
available. I'm sure your dealer 
would be happy to watch for 
product announcements of 
specific interest to you. 

If you are fortunate enough 
to live in an area that has an Ap- 
ple users group, much valuable 
information is available. 
Chances are some of the other 
members have interests similar 
to yours and will be willing to 
work together on applications. 
A file of literature received by 
various members of the group 
would be a good source for in- 
formation on hardware and ac- 
cessory items. 

Magazines, newsletters and 
direct-mail advertising are all 
directed toward disseminating 
information about available 
new products. Manufacturers 
spend a great deal of money at- 
tempting to inform you of the 
items they have to offer, but ob- 
viously cannot advertise each 
product in every issue of every 
publication. Many magazines 
offer reader service cards, 
which enable you to obtain 
literature on specific products. 
If you don't see the particular 
company listed that interests 
you, a letter request will usually 
bring a catalog by return mail. 
Some companies request an 
SASE or small fee for their 
literature; this is usually noted 
in their advertisements. 



Microcomputing January 1980 111 



Henwood Enterprises, Inc. (800)323-7360 9-5 CST 

1833 E. Crabtree Dr. MC, VISA, AE/M.O.-none/Cat-none 

Arlington Heights IL 60004 1 year against material or labor 

defects. 

• Wrapple dust cover for Apple II $8.95 

• Wrapple II dust cover for Apple II plus 1 or 2 Disk lis on top $9.95 

Heuristics, Inc. (415)948-2542 8-5 PST 

900 San Antonio Rd. CC accepted/M.O.-none/Cat-none 

Los Altos CA 94022 1 year guarantee 

• Model 20A 32 word SpeechLab for Apple includes ROM-based software, 
extensive manual. Applications include voice control games, data entry, 
research, etc., $189 

• Microphone (noise cancelling) NC-2 $85 

Integrated Circuits Unlimited (800)854-2211 (Cal. 800-542-6239) 

7889 Clairemont Mesa Blvd. 24 hours MC, VISA, AE/M.O.-none 

San Diego CA 921 1 1 Cat-Free "Unlimited guarantee" 

• 4116 16K RAM chips $11.50 

• ICs, components, video monitors, etc. 



(215)382-8296 9-5 EST 
?CC/M.O.-none/Cat-Free 
1 year guarantee 



Interactive Structures, Inc. 
Suite 204, Science Center 
3401 Market Street 
Philadelphia PA 19104 

• AI-02 analog data acquisition system. Approx. $210 

• AO-03 digital to analog board. Available soon, price TBA 

• VIP-4 video interface. Available soon, price TBA 

• EC-07 editing console. Available soon, price TBA 

• SI-01 serial interface. Available soon, price TBA 

International Electronics Equipment Corp. (305)595-2386 

PO Box 522542 MC, VISA/M.O.-none/Cat-none 

Miami FL 33152 Guaranteed working 

• Apple interface for Okidata CP110 printer (must be used in conjunction 
with Apple's interface board). $100 

• Okidata CP1 10 $650 

Ithaca Intersystems (607)257-0190 9-5 EST 

PO Box 91 MC V|SA (4 p erC ent surcharge) 

Ithaca NY 14850 M.O.-none/Cat-Free 100 percent 

lifetime guarantee for chips. 

• Hitachi 16K memory expansion set $140 (also available through many 
retail dealers). 

Jameco Electronics (415)592-8097 8-5 PST 

1021 Howard Ave. No CC/M.O.-$10/Cat-41<p stamp 

San Carlos CA 94070 90-day warranty 

• UPD416 (MK4116) 16K RAM chips $14.95 

• EPROMs, ICs, components 

Microproducts (213)374-1673 8-5 PST M-F 

2107 Artesia Blvd. No CC/M.O.-none/Cat-Free 

Redondo Beach CA 90278 Guarantee offered 

• Centronics 779/SWTP PR40 printer interface (MP7101-2) $49.95 

• General-purpose 8 bit parallel output port card (MP7101-3) $44.95 

• EPROM programmer for 5 volt 2K EPROMs (MP8102-1) $99.95 

• EPROM socket adapter adapts 5 volt EPROMs to Apple ROM sockets. 
(MP8105-1) $14.95 

• Apple II to Superkim downloading card with cable and connector 
(MP9102-2) $74.95 



(415)592-1800 8:30-5 PST 
MC, VISA/M.O.-$10 (CODs and 
CC)/Cat-Write Items guaranteed 



Mikos 

419 Portofino Drive 

San Carlos CA 94070 

• Hitachi 2114 (250 ns) $7.99 

• National 21 14 (450 ns) $7.25 

• 2102 AN-ZL (250 ns) $1.60 

• 2102 AN-4L (450 ns) $1.25 

• Full line of SSM, Wameco and CCS boards and kits. 

Dan Paymar No Phone Orders 

PO Box A-133 C.S. 6800 ?/?/? 

Costa Mesa CA 92627 90-day replacement guarantee 

• Lowercase adapter— hardware modification that allows a program to 
display lowercase characters on the monitor, also adds some symbols to 
make complete 96 character ASCII set. (Peripherals Unlimited text editor/ 
word processor can be ordered or converted for use with the LCA) $49.95 



Survey 

This survey was undertaken 
with a primary motive in 
mind— I was interested in some 
accessory items for my Apple II 
and wanted to see what was 
available and from whom. It oc- 
curred to me that other Apple 
owners might be in the same 
situation, thus this article. 

I have attempted to provide a 
reasonably compact and com- 
plete list of hardware and ac- 
cessory items most likely to be 
added by the hobbyist with a 
relatively bare Apple II. I made 
no attempt to locate all items 
compatible with RS-232, cur- 
rent loops, parallel and serial 
ports, etc.— the list could be 
endless! I included only those 
items advertised as being de- 
signed specifically for the Ap- 
ple II. Since information on pro- 
ducts manufactured by Apple 
Computers, Inc., should be 
readily available to all owners, I 
did not include these in this 
listing. 

It should be emphasized this 
article is in no way intended to 
duplicate the advertising ef- 
forts of any supplier; it merely 
provides a compact listing of 
items and sources from which 
you can obtain specific infor- 
mation regarding them. I have 
attempted to answer for you 
the same kinds of questions we 
all have when dealing with any 
supplier. 



Survey Procedure 

A questionnaire was sent to 
as many sources as I could lo- 
cate from magazine ads, direct- 
mail fliers and catalogs. As 
mentioned earlier, I included 
only those suppliers indicating 
hardware or accessories for the 
Apple ll. 

Forty-five questionnaires 
were mailed, and 27 were re- 
turned within four weeks . . . 
a response rate of 60 percent. 
Much supplementary informa- 
tion in the form of literature 
sheets, catalogs and product 
information was received and 
used to provide the information 
contained in the listings. 

Certainly there are suppliers 
not mentioned in this article for 
various reasons— question- 
naires not returned, names and 



112 Microcomputing January 1980 



When the people 

behind the products countl 






(Formerly the CPU Shop) 

As the CPU Shop, we have been dedicated to meet- 
ing the needs of the microcomputer user. The suc- 
cess of the CPU Shop has led to ComputerCity— 
the merging of our manufacturing, wholesale and 
mail order divisions with our rapidly expanding re- 
tail outlets to provide the increased products and 
services the microcomputer consumers of today 
and tomorrow want— and need. We remain dedi- 
cated to providing the same service, technical assis- 
tance and fair pricing youve come to expect from 
the CPU Shop. 



V 



X 



David C. Lourie, President 



r 



x 



ComputerCity Sampler 
Disk Drives 

When you're ready to add disk storage to your TRS-80*, we're here to help. 
Our CCI-100™ and -200™ drives offer more capacity than Radio Shack 35-Track (85K Bytes) drives. These drives 
are fully assembled, tested and ready to plug-in the moment you receive them. They can be intermixed with each 
other and Radio Shack drives on the same cable. 90 day warranty. 

CCI-100™ 40 Track (102K Bytes) $399.00 CCI-200™ 77 Track (197K Bytes) $675.00 






V 



Printers 

Letter Quality High Speed Printer 

NEC Spinwriter: In- 
cludes TRS-80* inter- 
face software, quick 
change print fonts, 55 
GPS, bidirectional, 
high resolution plot- 
ting, graphing, pro- 
portional spacing and 
tractor feed assembly. 90 day warranty $2979.00 
Also: Centronics, Paper Tiger, HI Plot Digital Plotter 
16K Memory Up-grade Kits 
Fast and ultrareliable $99.00 

DISK OPERATING SYSTEMS 

NEWDOS by Apparat + $49.95 

MEWDOS "PLUS" by Apparat 1 " $99.95 

DOS 3.0 by the original author of 2.1 $49.95 



DISKETTE TRS-80* 

BUSINESS SOFTWARE BY SBSG 

Free enhancements and upgrades to registered 
owners for the cost of media and mailing. 30 day free 
telephone support. User reference on request. 
Fully Interactive Accounting Package: General Ledger, 

Accounts Payable, Accounts Receivable and Payroll. 

Report generating. 

Complete Package (requires 3 or 4 drives) $475.00 

Individual Modules (requires 2 or 3 drives) $125.00 



Inventory II: (requires 2 or 3 drives) 
Mailing List Name & Address II 

(requires 2 drives) 
Intelligent Terminal System ST-80 III: 
The Electric Pencil from Michael Shrayer 
File Management System: 
Budget Control Program II by CSA 
Cash Register System II by CSA 



$ 99.00 

$129.00 
$150.00 
$150.00 
$ 49.00 
$ 49.95 
$ 99.00 



ComputerCity 

A division of CPU Industries, Inc. * cios 

175 Main Street, Dept. K-l Charlestown, MA 02129 

Hours: 10AM - 6PM (EST) Monday - Saturday 
For detailed information, call 617/242-3350 
Massachusetts residents add 5% Sales Tax 

™ CCI-100 and -200 are ComputerCity Inc. trademarks 

* Tandy Corporation Trademark + Requires Radio Shack TRSDOS' 



TO ORDER CALLTOLL FREE 1-800-343-6522 

Massachusetts residents call 617/242-3350 

Retail Store Locations: 

175 Main Street Charlestown, MA 

K Mart Plaza, Manchester, ISH 

50 Worcester Road(Rt.9), Framingham, MA 

165 Angell Street, Providence, Rl 

Visa and Master Charge accepted 

Franchise and dealer inquiries invited 












** Reader Service— see page 227 



Microcomputing January 1980 113 



addresses not located in the ini- 
tial search, products recently 
developed and marketed. If you 
know of (or are) a supplier not 
listed, please send me as much 
information as you can so the 
listings can be expanded and 
updated at a later time. 

Listing Format 

The listings that follow are 
set up alphabetically and con- 
tain the following information: 

Name 



Number and hours for 
phone orders 
Credit Cards Accepted/ 
Minimum Order/Catalog 
Guarantee (if offered) 
Terms 
Items offered (brief description and price). 



Address 



City, State, Zip 



Information in the listings has 
been taken from questionnaire 
responses and/or condensed 
from catalog descriptions pro- 
vided by each supplier. Ac- 
curacy of the information is not 
guaranteed, and you should in- 
vestigate further prior to actual 
purchase of any item described. 
None in any category indicates 
no information received regard- 
ing that item. 

Summary 

I have made no attempt to 
judge the quality of either prod- 
ucts or vendors in this article. 
When considering the pur- 
chase of any additional items 
for your Apple II, you should: 

1. Carefully read the descrip- 
tion so you know exactly what 
you're buying. 

2. Check with your local 



Peripherals Unlimited (213)595-6858 9-5 PST 

2633 E. 28th St. Suite 622 ? CC/M.O.-none/Cat-SASE 

Signal Hill CA 90806 90 days labor, 1 year parts. 

• Universal parallel card— intelligent I/O control, configuration of I/O can 
be changed to meet particular needs via user programmable driver with 
battery back-up. Software inc. $179.95 

• Also carries the lowercase adapter. 

Powersoft, Inc. (Products sold to dealers only) 

PO Box 157 Catalog on request 

Pitman NJ 08071 

• Light pen (ZXX 0003)— plugs directly into game I/O connector. Supplied 
with demonstration software. $34.95 

Priority 1 Electronics 
16723 Roscoe Blvd. 
SepulvedaCA 91343 



(800)423-5633 (Cal. 213-894-8171) 
8-6 PST MC, VISA/M.O.-$10/Cat- 
Free with order. Chips meet or 
exceed manufacturers specs 
16K memory expansion kit (200-250 ns) $69 



(617)242-3350 9-7 M-F, 9-6 Sat. EST 
MC, VISA/M.O.-none/Cat-Free 
90-day guarantee 



The CPU Shop 
39 Pleasant Street 
Charlestown MA 02129 

• NEC UPD416D 16K (300 ns) 8/$85 

• NEC UPD416-1 16K (250 ns) 8/$87 

• NEC UPD416D-2 16K (200 ns) 8/$89 

• Dealer for complete Apple line and related software. 

Tri-Tek (602)995-9352 9-5:30 M-F 

7808 N. 27th Avenue MC, VISA/M.O.-$10/Cat-Free 

Phoenix AZ 85021 

• NEC UPD416 16K (300 ns) $18, 8/$128 

• NEC UPD416-2 16K (200 ns) $20, 8/$144 

• IC, components. 



dealer. Perhaps he has, or 
would be willing to get, a unit 
you could see prior to making 
your decision. 

3. Ask around. Other hob- 
byists in the area may have 
dealt with the supplier involved 
and be able to tell you some- 
thing about the quality of prod- 
ucts available. 

4. Look through your back 
issues of this and other 



magazines. Someone may have 
reviewed the particular item at 
a time when you weren't in the 
market and didn't pay much at- 
tention. (If you don't find a 
review and decide to purchase 
the item, how about writing 
one? It's easier than you think 
and could help defray the cost!) 
5. Don't hesitate to request 
more detailed information from 
either your dealer or the manu- 



facturer. Manuals are often 
available separately for a 
nominal cost and provide more 
detailed information than a 
spec sheet or catalog descrip- 
tion can provide. 

6. Carefully read the guaran- 
tee (if one is offered) and ques- 
tion any provisions you don't 
understand. 

7. Caveat emptor! (Let the 
buyer beware!)! 



every four years. . . 

. . .the world's best athletes gather to com- 
pete for the coveted gold medal. This year 
you can more easily follow this competition 
with Med System's Athletic Index. 

This package will allow you to search 
events based on country, sport, score, time, 
year, or the name of an athlete, or any com- 
bination of these. Year searches can be given 
any range. All the old records, plus trivia and 
brief descriptions, are at your fingertips. 

The Athletic Index is now being sent 
with the complete statistics for all the winter 
competitions through the XXI Olympiad in 
1976 at no extra charge. The summer statis- 
tics will be available early in 1980. 

TRS-80 LI I 16K cassette $9.95 
N.C. residents please add 4% tax. 

Med Systems Software 

P.O. Box 2674, Chapel Hill, N.C. 27514 
p*M119 




BUY ON 

COMPUTERS 

& 
DISKETTES 

10 — $37.50 ♦ $1.00 Shipping 

50 — $172.50 + $1.50 Shipping 

100 — $299.50 ♦ $2.00 Shipping 

8" BASF or Georgia Magnetics 
5 1 / 4 " Verbatim 
OSI Challenger III 56K, 2-8 Drives, 
Fortran, Cobal & 3 - Basics . . . $3995.00 

Cromemco SYS - 3 ONLY $4895.00 

RS232 — DB25 Connectors 

FE 2.95 MALE 1.95 HOOD .95 

Call For Discounts on Additional Items 



Dealer Inquiries Invited 




R#1 Box 193 U.S. 31 
Berrien Springs, Ml 49103 
(616) 429-3034 

^A112 




DISK OPERATING SYSTEM 

IvMMlVi 






INSIST ON THE ORIGINAL 
(BECAME OPERATIONAL MID '78) 

VERSIONS AVAILABLE FOR: 

PET KIM TIM 
SYM AIM 

INCLUDES DISK FILE PATCHES 

FOR MICROSOFT BASIC 
CALL OR WRITE FOR PRICES 

AND NAMES 

OF SATISFIED CUSTOMERS 

*^W36 

WILSERV INDUSTRIES 
P.O. BOX 11$ 

HADDONFIELD, N.J. OS033 
(6*9) *fc7-**9* 



114 Microcomputing January 1980 



YOURS FREE!!! 




PROGRAMS 



Here's a great invitation. 

Get 80 Microcomputing for $1.00 an issue — $3 off the basic subscription 
rate — ONE-HALF the regular cover price— and get 80 Programs FREE! 

It's 80 Microcomputing's gift to you as a charter subscriber — a giant book of pro- 
grams for your TRS-80* . . . business, education, games and home management. 

To get your FREE copy, simply enter your subscription order below. We'll mail you 
80 Programs as soon as we receive your payment. 

*(TRS-80 is a trademark of the Tandy Corp ) 



YES! SIGN ME UP AS A CHARTER SUBSCRIBER TO 80 MICROCOMPUTING FOR 
JUST $1.00 PER COPY. AND SEND MY FREE COPY OF 80 PROGRAMS WHEN YOU 

RECEIVE MY PAYMENT. 

□ 12 issues — $12 (save $12) □ 36 issues — $36 (save $36) 

□ Payment enclosed □ Please bill me 

Bill my □ Visa □ Master Charge □ American Express 



Card# 
Name . 
Street 
City 



Exp. date. 



Signature 



State. 



Zip 



Canada: $12 per year US funds Add S2 per year for Canadian dollars All other foreign subscriptions: $20 one year only, payable in US currency. 



301 K22 



BUSINESS REPLY CARD 

FIRST CLASS PERMIT NO. 780 FARMINGDALE NY 11737 



POSTAGE WILL BE PAID BY ADDRESSEE 




T.M. 



microcomputing 



Subscription Services Dept. • P.O. Box 981 
Farmingdale NY 11737 



NO POSTAGE 

NECESSARY 

IF MAILED 

IN THE 

UNITED STATES 




YOURS 

1 l\L/Ls«« 




PROGRAMS 



A GIANT BOOK OF 80 PROGRAMS FOR 
THE TRS-80* AS A FREE GIFT WITH 
YOUR CHARTER SUBSCRIPTION TO 
80 MICROCOMPUTING . AN ALL NEW 

MICROCOMPUTER MAGAZINE FOR 
THE TRS-80 OWNER AND USER 

That's right. You can receive a giant book of programs for your TRS-80 and have the distinc- 
tion of being a charter subscriber to the largest magazine published on the TRS-80. 

80 MICROCOMPUTING contains a wealth of information on business, personal and educa- 
tional software. New product reviews are featured each month, along with new applications 
for everything from text editing to music. 

Subscribe today and take advantage of this super charter subscription offer ... 12 months 
of 80 MICROCOMPUTING for $12 ... (that's half the newsstand price)! Plus, if you 
subscribe now, we will send you FREE OF CHARGE a giant book of 80 PROGRAMS for your 

*(TRS-80 is a trademark of the Tandy Corporation.) 



TRS-80. 



YES! SIGN ME UP AS A 
CHARTER SUBSCRIBER TO 
80 MICROCOMPUTING FOR 
JUST $1.00 PER COPY. AND Card # 
SEND MY FREE COPY OF 80 Name 
PROGRAMS WHEN YOU street 

RECEIVE MY PAYMENT. CitY - 



□ 12 issues — $12 (save $12) □ 36 issues — $36 (save $36) Mail to: 

80 MICROCOMPUTING 

□ Payment enclosed □ Please bill me pqb 981 

□ Master Charge □ American Express Farmingdale NY 11737 

Exp. date. 



Bill my D Visa 



Signature 



State. 



Zip 



301 K33 

Canada: $12 per year US funds Add $2 per year for Canadian dollars All other foreign subscriptions: $20 one year only, payable in US currency 



The Metamorphosis of 
a "Custom" PET 



Robert Freeman 
Penn Park J-382 
Morrisville PA 19067 



This all-in-one design offers maximum portability in a disk-based PET. 



Almost everyone is familiar 
with the PET computer 
from Commodore; it is one of 
the most popular "appliance- 
type" computers and features a 
built-in video display and cas- 
sette recorder. The PET uses the 
6502 microprocessor and Micro- 
soft BASIC— the fastest combi- 
nation around. 

But like many computer own- 
ers, I soon became impatient 
with the slow cassette recorder. 
Also, like many other computer 



owners, I wanted to expand my 
system to include more memo- 
ry, more I/O, etc. But I still 
wanted a single compact unit 
such as the original PET. That 
started me thinking about a 
"custom" PET, with a built-in 
floppy disk system and extra 
memory. 

Considerations 

1. I wanted to maintain the 
portability of my PET. 

2. I wanted the disk on the 
front for easy access. 

3. I would only use the cas- 
sette recorder occasionally 
once I had the disk installed. 

4. I wouldn't need the PET 
keyboard, as I had already built 



an external keyboard. 

5. I needed room to mount a 
floppy disk drive (or drives), flop- 
py disk controller, memory ex- 
pansion, power supply for the 
disk drive and control boards. I 
needed more physical space for 
expansion. 

I then had to consider other 
limitations: lack of hard cash. I 
could supply the effort and the 
metal bending, but where could I 
get an economical disk control- 
ler and software to run my disk? 
And how could I increase memo- 
ry capacity for a reasonable 
cost? 

After looking around a while, I 
found there wasn't much 
choice. The only company that 








m m m. ,m,. M-.M. W ."..". 9 .9.. M. M.9..9 M.. w. P w W W m -.-m mrMk.My^,*m-sM-*M<49;- 



Photo 1. The CGRS Microtech disk controller board showing the PET-to-S-100 adapter and disk con- 
troller section. 



sold a separate disk controller 
board for the PET was CGRS 
Microtech, Inc., of Southampton 
PA. This turned out to be an ex- 
cellent choice since the CGRS 
Microtech board (EXS100) is ac- 
tually two boards in one: a disk 
controller and PET-to-S-100 
adapter (see Fig. 1). 

The board is the size of the 
standard S-100 card, with the 
disk controller (and ROM space) 
using the upper half of the board 
and the S-100 adapter for memo- 
ry expansion on the lower half of 
the board. The cost of this card 
assembled and tested was $299 
for the disk controller and cas- 
sette software. Their ROM ver- 
sion of software (by Wilserv In- 
dustries, PO Box 115, Haddon- 
field NJ 08033), which I pur- 
chased, was an additional $60 
(see Photo 1). 

With the CGRS Microtech 
S-100 memory expansion adap- 
ter, I was able to buy inexpen- 
sive memory as needed, add all 
kinds of extra I/O and many so- 
phisticated types ot S-100 cards 
and have hardware and soft- 
ware to support three disk 
drives. 

With most of the pertinent 
facts in mind, I was now ready to 
start my planning and design. 

Decisions, Decisions 

My initial design decisions in- 
cluded using the CGRS control- 
ler, beginning with one disk 
drive, using a 5 slot (S-100) 
motherboard, adding 16K extra 



116 Microcomputing January 1980 











♦ , 










i , 




BRIDGE 




♦ 12 

VOLTAGE 

REG 




* 


















^ 5300»iF 


^ lOOpF 








7 


7 










^ lOOOpF 

V 







^ ♦ 16 TO 
S-IOO 



TO 

DISC 
DRIVE 



-16 TO 
S-IOO 











♦ 














BRIDGE 




+5 

VOLTAGE 

REG 








♦ 




♦ 








^5300pF 




^ IOOjjF 












V 







♦ 8 TO 
S-IOO 



TO 
DISC 

DRIVE 



Fig. 1. Power supply for both disk and S100. (Parts purchased from 
AB Computers, 115 East Stump Rd. f Montgomeryville PA 18936.) 



memory, using an external 
keyboard and eliminating the 
tape cassette from the front and 
plugging it in back when I need- 
ed it. 

The next big decision I made 
was to eliminate the sloped 
front and make a new top cover 
for the PET, but leave the rest of 
the sheet metal as it was. Now, 
this may seem to you like a 
rather strange way to treat a 
PET, but I wanted to have the ex- 
tra room. 

Before making the final deci- 
sion to start construction, I went 
to CGRS Microtech to see their 
complete disk system in opera- 
tion. I was surprised to learn 
their controller card would also, 
with a few jumper changes, 
operate eight inch disks (see 
Photo 2) as well as the mini- 
disks. The system they let me 
use consisted of their standard 
disk package with two eight 
inch disks. I was pleased to find 
it simple to use and foolproof in 
its operation. 

New Cover 

I made the case out of a piece 
of 1/16 inch thick aluminum (27 
inches wide x 29 inches long) 
that I cut out and bent in four 
places so it would fit directly on- 
to the original PET hinge and 
open the same way as the origi- 
nal PET case opens. 

Then, instead of leaving a 
large hole in the top between the 
PET and the CRT, I made a small 
hole to run wires down from the 



CRT and a hole for a fan to draw 
the air through the CRT into the 
bottom of the case. Proper venti- 
lation is important in the original 
PET. A fan is almost necessary 
there. 

I moved the power transform- 
er from the base to the back wall 
(back of PET, lower half). Then, I 
replaced the part of the PET that 
held the tape deck and keyboard 
with my square box. That made 
my PET about one inch taller. In- 
stead of sloping down at front 
for the keyboard, it comes 
straight across and is the same 
size as the original PET box. 

Between the main logic board 
and the left-hand side of the 
PET, there was room for a five 
slot S-100 motherboard (where 
the cassette used to be) as well 
as the disk controller card, 
memory cards and several other 
S-100 cards. The fan is mounted 
horizontally between the CRT 
housing and the new case to 
provide ventilation to all the 
electronics. 

I already had replaced the 
original keyboard with a full-size 
keyboard, so there was no need 
for the PET keyboard. This left 
room to put three drives in the 
new enclosure. Right now I only 
have one disk drive, which is 
mounted horizontally so it looks 
better. I will mount future drives 
vertically, so I will have space 
for a total of three while still 
keeping the PET in one com- 
pact, portable, easy-to-move- 
around package. 




Photo 2. Original PET with CGRS PE disk system. 



Power Supply 

The power supply drives the 
disk and the S-100 board. It re- 
quires + 8 volts at 5 Amps, ±16 
volts at 3 Amps for the S-100 
bus, +5 volts at 2 Amps and 
+ 1 2 volts at 2 Amps for the disk. 
I assembled the power supply 
with parts that were on hand or 
readily available for less than 
$30. A complete power supply 
kit is available from CGRS for 
$55. The power supply is 
mounted in the upper corner of 
the new box behind the Shugart 
drive. 

Assembly 

The assembly went together 



well. The cables for the S-100 ex- 
pansion system (Photo 3) con- 
nect to the PET memory expan- 
sion port and run underneath 
the PET main logic board, up 
alongside of the S-100 mother- 
board, and plug into the CGRS 
EXS100. Another cable con- 
nects the EXS100 to the Shugart 
disk drive. Two more cables con- 
nect the S-100 motherboard and 
the Shugart drive to the power 
supply. 

You may notice the small cir- 
cuit board in the right-hand rear 
corner of the PET. It has nothing 
to do with the disk; it is a small 
amplifier for sound. When soft- 
ware has sound built in, I don't 




Photo 3. Internal assembly of Bob's PET. 



Microcomputing January 1980 117 



FOR THE VERY BEST IN 
NORTH STAR COMPATIBLE SOFTWARE: 

TEXT. PROCESSING: TFS' text processing system. The most powerful word 
processor/output formatter available for North Star! Justifies both left and 
right margins. Paging, page numbering, block moves, file merges, global 
search and change. You can save and load text files to or from disk. Plus 
much, much more! TFS' has everything you want in a text formatter. Minimal 
system: 24K RAM starting at 0000H. Includes extensive user's 
manual. -$75.00 

ASSEMBLER AND OPERATING SYSTEM: Arian is the assembler/operating 
system you need for both the large and small jobs. Supports all wanted 
features, plus those special extras, user defined commands, disk based com- 
mands, transient program area, memory management, and dynamic file crea- 
tion/deletion. Also: You can save and load obj./source files to and from disk. 
Minimal system: 24K RAM starting at 0000H. Extensive user's manual in- 
cluded. - $50.00. Special utility package for Arian'. - $50.00 
'TINY' PASCAL!!: The famous Chung/Yuen 'Tiny' Pascal. A great way to write 
structured programs that execute up to 25 times faster than Basic. Includes 
source to the compiler, written in Pascal! (You can even re-compile the com- 
piler.) Supports recursive procedures and functions as well as if . . . then 
. . . else . . . then. case, while, repeat/until, etc. (You need 24K RAM: 36 to com- 
pile the compiler). - $40.00 

INSURANCE AGENTS: We have a great package just for you! The CRS' client 
record system. A complete program system created to supply your agency 
with all necessary and pertinent information about your clients and pros- 
pects. This package is specifically designed with use as a marketing tool in 
mind! Lets you search your records any way you want and has a powerful 
sieve search to find correlations and exceptions (i.e., All the clients that have 
homeowners with you and not auto. etc.). Much, much more. Minimal system: 
40K RAM starting at 2000H, two disk drives. Holds up to 1400 names double 
density, 700 single density. Comes with extensive user's manual -$250.00 

Plus much more. Write for catalog or call 217-344-7596 
Also, custom programming, consulting and on-sight installation is available 
through Supersoft. Call or write us. 
Specify single or double density. 



»^S61 




P.O. Box 1628. Champaign, IL 61820? 



IT PAYS FOR ITSELF . . 

Announcing Our 
Integrated Accounting System 




Accounts Receivable II Payroll II Accounts Payable 



, * Totally modular . . . buy only what 
you need 

* Fast, efficient and easy to use 

* Cursor control for SOL, SOROC, 
ADM-3, ADDS 100, Hazeltine 
1500, Intertube 

* 65 Programs for maximum 
flexibility 

* Too many features to list here! 
Prices: General Ledger Plus: 

One package: $225.00 Two packages: $300.00 All four: $350.00 

Manual (for all 4 packages): $20.00, credited towards pur- 
chase. Programs use North Star Basic, 2 disk drives (double 
or single density), 32 K of memory. Specify video device 
when ordering. 



^E34 




Photo 4. Completed "custom" PET. 



master charge 

TM( INTERBANK CARD 



P.O. Box 68602 
Indianapolis, IN 46268 



Phone orders: 

(317)253-6828 



have to carry a separate ampli- 
fier and speaker with me be- 
cause it's also built right into my 
PET. 

Ease of Operation 

The software from Wilserv In- 
dustries is great! You may 
operate it two ways: from BASIC 
or from its own monitor. From 
BASIC you can: 

a. Save a program 

b. Load a program 

c. Run a program 

d. Write a sequential data file 

e. Read a sequential data file 

f. List the disk directory 

g. Update a program 
h. Delete a program 

i. Initialize a new diskette 
j. Compress a diskette (physi- 
cally recover space from a de- 
leted program) 

From the disk monitor, which 
is invisible to the BASIC user, 
you can: 

a. Perform all of the above BA- 
SIC commands 

b. Save assembly-language 
programs 

c. Load assembly-language 
programs 

d. Alter the file load point 

e. Move blocks of memory 

f. Echo the console character 

g. Go to any location in memory 
h. Move programs from disk to 
disk 

Move Utility 

Move is used to make backup 
diskettes or to copy programs 
from disk to disk. The interest- 



ing point is that it will work with 
a single disk drive or a multiple 
disk-drive system. Its operation 
follows along logically, so it will 
not let you make any errors in 
copying. 

The disk directory may be 
listed in short form (program 
names only) or long form. The 
long form lists the program 
name, number of sectors used, 
date the program was put on the 
disk, the number of program up- 
dates along with the date of the 
latest update, whether the pro- 
gram is BASIC or assembler and 
the starting location of the pro- 
gram in memory. 

The disk software is IBM3740 
standard and allows any IBM 
standard diskette (such as 
Radio Shack) to be read. 

Conclusion 

I now have a fantastic PET 
system. It is unquestionably the 
most versatile PET around. It 
wasn't as much trouble as I orig- 
inally anticipated, and I had fun 
building it. 

The real enjoyment comes 
from using this disk system. I 
have about 300 hours of use 
with the new system and have 
not had any problems. I have 12 
diskettes full of programs or 
files (approximately 960K of 
storage) and have never lost a 
bit. It is a pleasure to load a 16 
or 24K program in less than 
two seconds, or to see 20,830 
bytes free after loading the disk 
software. ■ 



118 Microcomputing January 1980 





* 



The Nationwide Marketplace for Computer Equipment 



Issue No. 1 



November 1979 



OH s-r&ttM* 







COMPUTER SHOPPER, 

the first complete publication listing 

business, commercial and personal computer equipment 

is coming this fall with the type of information you can use 

every month. 

Just $5 brings you a full year of late breaking ads for available 
equipment, software and accessories for mini, micro and big 
system computers AND you can run YOUR FIRST CLASSIFIED 
AD WITHOUT CHARGE under this Charter Subscription offer. 

EACH ISSUE OF COMPUTER SHOPPER GIVES YOU: 

• Ads from individuals, brokers and manufacturers, nationwide 

• Categorized ads so you can find them instantly 

• Large 11 by 14 easy-to-read format 

• Low classified ad rates - IOC a word 

• Short turn-around advertising time — your ad is in print in 
1 days 

• Free ad typesetting 

• Nationwide circulation guaranteed 

COMPUTER SHOPPER is YOUR place to buy or sell any computer 
equipment because it has been designed after extensive research 
into the needs and wants of Americas computer buyers 
and sellers. 

To reach more than 20,000 computer-owning firms each month, 
COMPUTER SHOPPER has been launched on a $78,000 budget 
by Patch Publications, a proven specialist in reader service 



LIST OF CATEGORIES \H COMPUTER SHOPPER 



Mini Computers 

Burroughs Systems 
Data General Systems For Sale 
Data General Systems Wanted 
Data General, Software, Parts, 

Peripheral 
Datapoint Systems 

Datapoint Software, Parts, Peripheral 
DEC Systems For Sale 
DEC Systems Wanted 
DEC Software, Parts, Peripheral 
IBM Systems For Sale 
IBM Systems Wanted 
NCR Systems 

NCR, Software, Parts, Peripheral 
Misc. Minicomputers (Hardware & 

Software) 

Micro Computers 

Apple Computers For Sale 
Apple Computers Wanted 
Apple, Software, Peripheral 
Northstar Computers 



Northstar, Software, Peripheral 
Ohio Scientific 

Ohio Scientifc, Software Peripheral 
PET Computers 
PET Software, Peripheral 
TRS-80 Computers For Sale 
TRS-80 Computers Wanted 
TRS-80, Software, Peripheral 
Misc. Microcomputers 
Misc. Microcomputer Software, 
Peripheral 

Peripheral & Misc. Equipment 

Card Readers 

Disc Drives 

Line Printers 

Punched Card Equipment 

Tape Drives 

Crt's 

Misc. Equipment 

Misc. Large Systems 

Misc. Software 

Misc. Accessories & Supplies 






mWM 




advertising, including its flagship 
photographic publication, Shutterbug Ads. 

Using in-house computer facilities and professional type- 
setting, Patch's experienced production team makes COMPUTER 
SHOPPER easily affordable for firms and individuals by using 
modern techniques and large-space advertising to offset 
normal costs. 

EVEN A LIMITED-TIME COMPUTER USER can get any buy, sell 
or want-to-find message into this nationwide market for a most 
reasonable cost. . .only 10C a word. 

And to prove how successful this ad can be for you, this Charter 
Subscription Offer includes your own complimentary classified ad. 
Use it to sell your used equipment or to find components 
you need. 

Just select the correct category listed at left, include it, plus your 
ad wording on a separate sheet . . . then return it with your 
subscription acceptance. 

DONT MISS a single timely issue of COMPUTER SHOPPER. 
Send the coupon with your ad t oday , knowing you can cancel 
anytime and receive a 100% refund for ajj unmailed issues. 




□iTIPUTeR 5HOPPSR 

P.O. Box F , Titusville, FL 32780 
305-269-3211, 8 a.m. - 5 p.m. 



*^C168 



SPECIAL Charter Subscription OFFER 

Save $5.00 

□ Yes, I want to become a charter subscriber of COMPUTER 
SHOPPER, the nationwide computer marketplace. Enter my 
Charter Subscription for the half price rate of $5.00 for 1 year 
(12 issues). If I'm not totally satisfied with my first issue, I can 
have a full refund and I keep the first issue FREE. 



Name 



Address 
City 



-Zip 



Payment Enclosed 
Card * 



□ 



.State 

Master Charge □ VISA 

Exp. Date 



D I have enclosed my complimentary classified ad. 

□ I'd like to run my ad later. Please send me a Certificate. 

Mail to: COMPUTER SHOPPER, P.O. BOX F 

TITUSVILLE, FL 32780 or call 305-269-321 1 



t^ Reader Service — see page 227 



Microcomputing January 1980 119 



SOFTWARE FOR 1980- AND BEYOND 



A new decade begins! It is a time to take inventory of one's past and 
make resolutions for the future. Instant Software resolves to continue to 
bring you new, exciting, and useful programs. The inventory of our past 
accomplishments has now expanded to six pages. We have programs 
for theTRS-80, Levels I and II; PET; Apple II; and Heath H-8. So ring in the 
new with quality programs from 



Instant Software 




TRS-80 




Level I and II 



OIL TYCOON Avoid oil spills, blowouts and dry 
wells as you battle to become the world's richest 
oil tycoon. Two players become the owners of 
competing oil companies as they search for oil 
and control their companies. Requires a TRS-80 
4K Level I or II. Order No. 0023R $7.95. 

HAM PACKAGE I This versatile package lets you 
solve many of the problems commonly encoun- 
tered in electronics design. With your Level I 4K 
or Level II 16K TRS-80, you have a choice of: 
•Basic Electronics with Voltage Divider — Solve 
problems involving Ohm's Law, voltage dividers, 
and RC time constants. 

•Dipole and Yagi Antennas — Design antennas 
easily, without tedious calculations. 
This is the perfect package for any ham or techni- 
cian. Order No. 0007R $7.95. 



ELECTRONICS I This package will not only 

calculate the component values for you, but will 

also draw a schematic diagram. You'll need a 

TRS-80 Level I 4K, Level II 16K to use: 

•Tuned Circuits and Coil Winding -Design 

tuned circuits without resorting to cumbersome 

tables and calculations. 

•555 Timer Circuits — Quickly design astable or 

monostable timing circuits using this popular IC. 

•LM 381 Preamp Design -Design IC preamps 

with this low-noise integrated circuit. 

This package will reduce your designing time 

and let you build those circuits fast. Order No. 

0008R $7.95. 



TRS-80* 

4K 
LEVEL I 

16K 
LEVEL II 



Air Flight 
Simulation 

* A ! ■<— I ol Tandy Corporation 




AIR FLIGHT SIMULATION Turn your TRS-80 
into an airplane. You can practice takeoffs 
and landings with the benefit of full in- 
strumentation. This one-player simulation re- 
quires a TRS-80 Level I 4K, Level II 16K. Order 
No. 001 7R $7.95. 



BEGINNER'S BACKGAMMON/KENO Why sit 

alone when you can play these fascinating 
games with your TRS-80? 
•Backgammon — Play against the computer. 
Your TRS-80 will give you a steady, challenging 
game that's sure to sharpen your skills. 
•Keno— Enjoy this popular Las Vegas gambling 
game. Guess the right numbers and win big. 
You'll need a TRS-80 Level I or II. Order No. 0004 R 
$7.95. 

BOWLING Let your TRS-80 set up the pins and 
keep score. One player can pick up spares and 
get strikes. For the TRS-80 Level I 4K, Level II 
16K. Order No. 0033R $7.95. 



BUSINESS PACKAGE IV Business Package IV 
gives you, the businessman, a superb tool to help 
you make those important decisions. This pack- 
age includes: 

•Business Cycle Analysis -This program isn't a 
crystal ball, but it can show you your business's 
expansion and contraction cycles. You can plot 
any aspect of your business on a graph and see, 
in black and white, just what's happening. This 
program will give you access to information you 
couldn't get before. 

•Financial Analysis — Would you like a financial 
assistant who could instantly give you the fig- 
ures for almost any kind of investment? Finan- 
cial Analysis can handle annuities, sinking 
funds, and mortgages, and compute bond yield 
and value. You'll have the facts you need at the 
tips of your fingers with this program. 

Included in the package is one specially 
marked blank data cassette for use in storing 
essential business data. 

Business Package IV, with its combination of 
analytic functions and convenience features, is 
an invaluable asset for any businessman. All you 
need is a TRS-80 Level I 4K or Level II 16K. Order 
No. 001 9R $9.95. 



GOLF/CROSS-OUT Have fun with these exciting 

one-player games. Included are: 

•Golf — You won't need a mashie or putter — or a 

caddie, for that matter — to enjoy a challenging 

18 holes. 

•Cross-out — Remove all but the center peg in 

this puzzle, and your neighbors will call you a 

genius. 

You'll need a TRS-80 Level I 4K, Level II 16K. 

Order No. 0009R $7.95. 



BASIC AND INTERMEDIATE LUNAR LANDER 

Bring your lander in under manual control. The 
BASIC version is for beginners; the Intermediate 
version is more difficult, with a choice of landing 
areas and rugged terrain. For one player with a 
TRS-80 Level I 4K, Level II 16K. Order No. 0001 R 
$7.95. 



SPACE TREK II Protect the quadrant from the in- 
vading Klingon warships. The Enterprise is 
equipped with phasers, photon torpedoes, im- 
pulse power, and warp drive. It's you alone and 
your TRS-80 Level I 4K, Level II 16K against the 
enemy. Order No. 0002R $7.95. 




CAVE EXPLORING/YACHT/MEMORY These 
three programs are not only fun, but stimulating 
as well: 

•Cave Exploring — Search for fabulous treasures 
as you explore the magic cave. For one player. 
•Yacht — A two-player game of strategy and 
chance. The computer rolls the dice and keeps 
score. 

•Memory — Two players can pit their memories in 
this program based on a popular television show. 
You'll need a TRS-80 with Level I and 16K. Order 
No. 001 OR $7.95. 



CAR RACE/RAT TRAP/ANTIAIRCRAFT Enjoy 

these challenging, fun-filled programs: 

•Car Race — You and a friend can race on a 

choice of two tracks. 

•Rat Trap — Trap the rat in his maze with your two 

cats. For one player. 

•Antiaircraft — Aim and shoot down the enemy 

airplane. Requires Level I 4K TRS-80. Order No. 

001 1R $7.95. 



KNIG HT'S QUEST/ROBOT CHASE/HORSE RACE 

This varied package of one-player games will 

give you hours of fun. 

•Knight's Quest -Battle demons to gain 

treasure and become a full-fledged knight. 

•Robot Chase — Destroy the deadly robots 

without electrocuting yourself. 

•Horse Race -Place your bet and cheer your 

horse to the finish line. 

These programs require a TRS-80 Level I 4K. 

Order No. 0003R $7.95. 



STATUS OF HOMES/AUTO EXPENSES Two long- 
awaited programs that have got to save you 
money at work or in the home: 
•Status of Homes -This program will allow you 
to keep track of all the expenses involved in 
building one house or an entire subdivision. 
•Auto Expenses - Find out exactly what it costs 
you to drive your car or truck. 
These programs require a TRS-80 Level I 4K. 
Order No. 001 2R $7.95. 



DESTROY ALL SUBS/GUNBOATS/BOMBER This 
package of three programs is fun for the whole 
family. Included are: 

•Destroy All Subs — Hunt down enemy subs 
while avoiding mines and torpedoes. A one- 
player game. 

•Gunboats — Try to blow the enemy's ship out of 
the water. For one or two players. 
•Bomber — Carefully release your bomb to 
destroy the moving submarine. A one-player 
game. 

To enjoy these programs, you'll need a TRS-80 
Level I 4K. Order No. 0021 R $7.95. 




BUSINESS PACKAGE I Keep the books for a 
small business with your TRS-80 Level I 4K. The 
six programs included are: 
•General Information - The instructions for us- 
ing the package. 

•Fixed Asset Control - This will give you a list of 
your fixed assets and term depreciation. 
•Detail Input — This program lets you create and 
record your general ledger on tape for fast ac- 
cess. 

•Month and Year to Date Merge -This program 
will take your monthly ledger data and give you a 
year to date ledger. 

•Profit and Loss — With this program you can 
quickly get trial balance and profit-and-loss 
statements. 

•Year-End Balance — This program will combine 
all your data from the profit-and-loss statements 
into a year-end balance sheet. 
With this package, you can make your TRS-80 a 
working partner. Order No. 001 3R $29.95. 

BUSINESS PACKAGE III This package can 
change your TRS-80 into a full working partner 
for any businessman: 

•Inventory — Maintain a computer-based inven- 
tory for a constant inventory system. 
•Commissions and Percentages — Let your com- 
puter figure out markup and discount calcula- 
tions, sales tax and more. This is a perfect time- 
saving package for any small business. 
For the TRS-80 Level I 4K. Order No. 0061 R $7.95. 



DOODLES AND DISPLAYS I Here's a mixed bag 
of programs that's sure to entertain: 
•Doodle Pad — Draw pictures and save them on 
cassette tapes. 

•Symmetries -Turn your TRS-80 into a kaleido- 
scope. 

•Video Display — Follow the bouncing cursor as 
your TRS-80 draws its own pictures. 
•Mathcurves — Bring those geometry lessons to 
life as the computer draws six different geomet- 
rical curves. 

•Rugpatterns — A never ending stream of sym- 
metrical patterns that's sure to spark your imag- 
ination. 

All you'll need is a 16K Level I TRS-80. Order No. 
0030R $7.95. 



SPACE TREK III Let yourself go to the far ends of 
the solar system — and beyond. This package in- 
cludes: 

•Stellar Wars — Shoot down the Tie fighters and 
destroy the Death Star. 

•Planetary Lander— Land your spacecraft and 
plant your flag across the solar system. 
These one-player games require a TRS-80 Level I 
4K. Order No. 0031 R $7.95. 



FUN PACKAGE I Why call it "Fun Package"? 
Judge for yourself! This entertaining package in- 
cludes: 

• Rocket Pilot — Flying it is easy — it's the landing 
that's tough! 

•Paper, Rock, Scissors — It's the time-honored 
game just as you remember it, played against 
your TRS-80. 

•Hex I — Just when you master this puzzle game, 
the computer will increase the difficulty. 
•Missile Attack — Use your missiles to protect 
your city from jet attack. 

Requires a Level I 16K TRS-80. Order No. 0037R 
$7.95. 



TYPING TEACHER This complete seven-part 
package takes you all the way from initial 
familiarization with the keys, through typing 
words and phrases, to complete mastery of the 
keyboard. Your computer can even become a bot- 
tomless page for typing practice. It only requires 
a TRS-80 Level I 4K. Order No. 0099R $7.95. 




' % 



'"if 1 % 



EVERY FLIGHT IS A 
SPECIAL DELIVERY 

OK, Ace, you survived everything that von Richthofen and the 
Flying Circus threw at you. Well, that was four long years ago - and 
yesterday's medals don't pay the rent. But just a minute, here's an 
ad* 

"Airmail Pilot wanted . . ." 

AIRMAIL PILOT 

You can almost smell the gasoline as the ground crew fuels your J-4 Jenny 
biplane to her 26-gallon limit. Precious mail is loaded into the cargo area, tagged 
for Chicago. The weatherman reports severe icing above 6,000 feet, so you know 
you have to keep the plane low. It will be a dangerous flight, but you knew that 
when you took the job. The mail must go through. So, in the tradition of Lindbergh 
and a hundred unsung heroes, you bravely turn your plane into the wind. The 
engine roars. Suddenly you're aloft on the first leg of your journey. Dayton's 
socked in by fog. You change your course for Lucasville. Lightning zigzags the sky. 
A massive, fast-moving thunderstorm forces you to land in a cornfield. As the 
weather clears, your plane leaps once more into the sky. But even clear skies can 
cause problems - violent air currents buffet your fragile wooden aircraft. Your fuel 
is down to two gallons as Lucasville comes into sight. You make it! Refuel and 
head for Chicago. But you're not out of trouble yet. There's a wind shear at the 
Chicago airport. You have to land in a shifting crosswind. Can you make It? AIR- 
MAIL PILOT from INSTANT SOFTWARE. Unlike any other computer simulation 
you've ever experienced. Challenging. Difficult. But never impossible. An event in a 
cassette. Crash or fly, it's so realistic, you can almost feel the wind. Requires a 
Level II 16K. Order No. 0106R $7.95. 



PERSONAL FINANCE I Let your TRS-80 handle 
all the tedious details the next time you figure 
your finances: 

•Personal Finance I -With this program you can 
control your incoming and outgoing expenses. 
•Checkbook - Your TRS-80 can balance your 
checkbook and keep a detailed list of expenses 
for tax time. 

This handy financial control for the home re- 
quires only a TRS-80 Level I 4K. Order No. 0027R 
$7.95. 



HEXPAWN/SHUTTLE CRAFT DOCKING/SPACE 
CHASE/SEA BATTLE This four-game package is 
sure to provide hours of fun for the whole family. 
•Hexpawn — Turn your TRS-80 into a model of ar- 
tificial intelligence by playing a simple game. 
•Shuttle Craft Docking— Land your shuttle craft 
on the starship — even through varying gravity 
fields! 

•Space Chase — Seek out and destroy the enemy 
delta that's hidden in the star field. 



•Sea Battle -You 

enemy fleet. 

This package requires 

Order No. 0041 R $7.95. 



must find and destroy the 



a TRS-80 Level I 16K. 



DEMO I This package is just the thing to show 
your friends what your TRS-80 can do. Included 
are: 

• Computer Composer — Compose and play 
music using only a standard AM radio. 
•Baseball — Play baseball with your computer 
while it does the scorekeeping. 
•Horse Race — Place your bet and cheer your 
pony to the winner's circle. 
•ESP — Test your powers of extrasensory percep- 
tion. 

•HI-Lo/Tic-tac-toe- Guess the secret number or 
get three in a row. 

•Petals Around the Rose — Can you figure out the 
secret behind the five dice? 
•Slot Machine — Turn your computer into a one- 
armed bandit. These programs require a TRS-80 
Level I 4K. Order No. 0020R $7.95. 



Level II 



TRS-80 UTILITY I Ever wonder how some pro- 
grammers give their programs that professional 
look? Instant Software has the answer with the 
TRS-80 Utility I package. Included are: 
•RENUM — Now you can easily renumber any 
Level II program to make room for modification 
or to clean up the listing. 
•DUPLIK — This program will let you duplicate 
any BASIC, assembler, or machine-language pro- 
gram, verify the data, and record the program on 
tape. You can even do Level I programs on a 
Level II machine. For the TRS-80 Level II 16K. 
Order No. 0081 R $7.95. 



INSTANT SOFTWARE 



S7.95 



Video Speed- 
Reading Trainer 

• RAPD1 »RAPD2 • RAPD3 • RAPD4 



I * Tm«i Catvorallwi 




VIDEO SPEED-READING TRAINER As your 
eyes move along, reading this sentence, do 
you see the words like t h i s ? Most peo- 
ple's reading speed is limited simply because 
they read individual letters or words. Now you 
can increase your reading speed and com- 
prehension, and soon be reading whole 
words and phrases, with the Video Speed- 
Reading Trainer package from Instant Soft- 
ware. 

Using the same scientific principle as the 
tachistoscope, a mechanical device used to 
flash characters or words on a screen, this 
three-part program will train your mind to 
quickly recognize numbers, words, letters, 
and phrases. 

The program will take you step by step 
through a systematic training procedure. 
You'll start at whatever level of competency 
you feel is appropriate, and the computer will 
automatically advance you as your reading 
speed and comprehension increase. For the 
Level II 16K TRS-80 Microcomputer. Order 
No. 0100 R $7.95. 



RAMROM PATROL/TIE FIGHTER/KLINGON 
CAPTURE Buck Rogers never had it so good. 
Engage in extraterrestrial warfare with: 
•Ramrom Patrol -Destroy the Ramrom ships 
before they capture you. 
•Tie Fighter -Destroy the enemy Tie fighters 
and become a hero of the rebellion. 

• Klingon Capture- You must capture the Kling- 
on ship intact. It's you and your TRS-80 Level II 
16K battling across the galaxy. Order No. 0028R 
$7.95. 

DOODLES AND DISPLAYS II Wait until your 

children get hold of this package: 

•Doodle Pad — Draw pictures and save them on 

cassette tapes. 

•Symmetries — An electric kaleidoscope that 

changes from black to white and back again. It's 

almost hypnotic! 

• Drawing -Like Doodle Pad, but for the serious 
artist. Over 40 user commands! 

•Random Pattern Display -The computer does 

the drawing, but those with itchy fingers can 

tamper. 

•Mathcurves- Bring those geometry lessons to 

life. Six different geometrical curves on the 

screen of your TRS-80. 

• Rugpatterns- Yes, it does design rug patterns; 
and with a choice of user or computer control, it 
can do a whole lot more. 

For the Level II 16K TRS-80. Order No. 0042R 
$7.95. 

DEMO III This is the biggest package that Instant 
Software has ever released. Just look at what's 
included: 

• Race 1 -Careen around the race course as you 
try to beat the clock. 

•Target UFO -Destroy all the invading UFOs to 

rack up a big score. 

•Life -Experiment with this simulation of the 

life cycle of a colony of bacteria. 

•Phone Number Converter -Change those hard- 

to-remember 7-digit phone numbers into easily 

remembered words. 

•Biorhythm — You or your friends can see your 

biorhythm curves whenever you want. 

•Graphics Program -This program will really 

show you what your TRS-80's graphics display 

can do. 

• Race 2 — Our racing game simulation for the 
more experienced driver includes a choice of five 
different tracks. 

•Horse Race — Up to nine players can bet on and 

enjoy our most entertaining horse race program. 

•Drawing Board — Draw pictures or messages 

and store them in memory or on cassette tape 

with this easy-to-use program. 

•24-Hour Clock — Transform your computer into 

an accurate digital clock. 

To enjoy this tremendous value, you'll need a 

TRS-80 Level II 16K. Order No. 0055R $7.95. 



DEMO II Now get more fun for the bucks with this 

amazing package. 

•Tic-Tac-Toe-Play an old-time favorite with 

three levels of difficulty. 

•Time Trials -Try to beat the clock as you race 

your car through curves, chutes, and chicanes. 

•Maze — One or two players can search through 

the maze for the secret square. 

• Hangman — One or two players can try to guess 
the secret word. 

•Wheel of Fortune - Choose your number, place 
your bet, and see if you can break the bank (for 
one to eight players). 

•Hurricane — Now you can track and monitor 
hurricanes anywhere in the world. 

• Bugsy — Can you build your Z-80 bug before the 
computer does? 

•Horse Race — Pick a sure winner and place your 
bet (for 1 to 100 players). 

All you'll need is a TRS-80 Level II 16K. Order No. 
0049R $7.95. 



HOUSEHOLD ACCOUNTANT Let your TRS-80 
help you out with many of your daily household 
calculations. Save time and money with these 
fine programs: ' 

• Budget and Expense Analysis -You can 
change budgeting into a more pleasant job with 
this program. With nine sections for income and 
expenses and the option for one- and three- 
month review or year totals, you can see where 
your money is going. 

•Life Insurance Cost Comparison - Compare the 
costs of various life insurance policies. Find out 
the difference in price between term and whole 
life. This program can store and display up to six 
different results. 

All you need is TRS-80 Level II 16K. Order No. 
0069R $7.95. 

FINANCIAL ASSISTANT Compute the figures for 
a wide variety of business needs. Included are: 

• Depreciation -This program lets you figure 
depreciation on equipment in five different ways. 
•Loan Amortization Schedule - Merely enter a 
few essential factors, and your TRS-80 will 
display a complete breakdown of all costs and 
schedules of payment for any loan. 

• Financier — This program performs thirteen 
common financial calculations. Easily handles 
calculations on investments, depreciation, and 

loans. 

•1% Forecasting -Use this simple program to 

forecast sales, expenses, or any other historical 

data series. 

All you need is a TRS-80 Level II 16K. Order No. 

0072R $7.95. 

MODEL ROCKET ANALYZER AND PREFLIGHT 
CHECK Let your TRS-80 help you enjoy the fast- 
growing hobby of model rocketry. The comple- 
mentary programs included are: 
•Model Rocket Flight History Prediction -This 
program will compute the flight characteristics 
for almost any model rocket. Engine and body 
tube data included covers Estes, Centuri, Flight 
Systems, A.V.I. Astroport, C.M.R., and Kopter 
products. 

• Weather Forecaster - Before you launch your 
rocket, get an up-to-the-minute weather forecast. 
Just enter your location, elevation, average 
temperatures for January and July, and baromet- 
ric pressure. You'll be the short-range weather 
forecaster for your area. 

For a successful launch, you'll need TRS-80 
Level II 16K. Order No. 0024R $7.95. 

CARDS This one-player package will let you play 
cards with your TRS-80 - talk about a poker face! 
•Draw and Stud Poker -These two programs will 
keep your game sharp. 

•No-Trump Bridge- Play this popular game with 
your computer and develop your strategy. 
This package's name says it all. Requires a 
TRS-80 Level II 16K. Order No. 0063 R $7.95. 



PERSONAL BILL PAYING 



NOTE: This package can take the head- 
aches and/or penalties out of paying your 
bills. 
In a business office the accounts payable 
(bills) are usually paid on or immediately before 
their due date. That way, the payer gets the 
fullest use of his money without incurring 
penalties for being behind in paying his debts. 
Now you can take advantage of this system for 
your monthly bills, letting your TRS-80 do all the 
drudgery and record keeping. 

This useful package provides a computerized 
list of all your bills and payments. You can ac- 
cess as many as 22 accounts, all of which can be 
named — up to 15 characters per name. Each ac- 
count is listed by number, amount owed, due 
date, and present activity. 

Don't confuse this system with a "checkbook" 
program. The functions of this package are 
threefold: (1) to monitor your bills; (2) to order 
payments most effectively; and (3) to make 
historical comparisons of individual accounts or 
specific months. 



After you load the program, it displays a menu 
of 11 activities. They include: 

Build and Maintain Files 

List All Accounts 

List Current Accounts 

Make Payment(s) to Account 

Enter New Bill to Account 

Display Payment History of Individual Ac- 
count (includes date paid, check number, and 
12-month total) 

Display Payment History of Selected Month 

Delete Account 

Delete Prior Month's Payment 

Save File on Tape 

Input File from Tape 

After you have updated the records by entering 
new bills, paying bills, or changing the accounts, 
you can save all the information on data tape. 
This data tape will then be input for the next time 
you use the package. Maybe it can't make paying 
bills all fun and games, but it should relieve some 
of the agony. Level II 16K required. Order No. 
0103R $7.95. 



Level II 



SPACE TREK IV Trade or wage war on a 
planetary scale. This package includes: 
•Stellar Wars — Engage and destroy Tie fighters 
in your attack on the Death Star. For one player. 
•Population Simulation — A two-player game 
where you control the economy of two neighbor- 
ing planets. 

You decide, guns or butter, with your TRS-80 
Level II 16K. Order No. 0034R $7.95. 



TEACHER Now you can have the benefits of 
computer-assisted instruction right in your own 
home. The programs allow you to input any 
number of questions and answers. Using this 
data, the computer will prepare several types of 
tests, quiz students, provide up to three "hints" 
per question — even offer graphic rewards for 
younger children, all at the user's discretion. 
Perfect for parents, teachers, or anyone faced 
with learning a lot of material in the shortest 
possible time. Furnished with blank data 
cassette. 

Teacher requires a 16K Level II TRS-80. Order No. 
0065R $9.95. 



TRS-80 UTILITY II Let Instant Software change 
the drudgery of editing your programs into a 
quick, easy job. Included in this package are: 
•CFETCH — Search through any Level II program 
tape and get the file names for all the programs. 
You can also merge BASIC programs with con- 
secutive line numbers into one program. 
•CWRITE — Combine subroutines that work in 
different memory locations into one program. 
This works with BASIC or machine-language pro- 
grams and gives you a general checksum. 
This package is just the thing for your TRS-80 
Level II 16K. Order No. 0076 R $7.95. 



Santa Paravia 
and Fiumaccio 

Buon giorno, signore! 

Welcome to the province of Santa 
Paravia. As your steward, I hope 
you will enjoy your reign here. I 
feel sure that you will find it, shall 
we say, profitable. 



Perhaps I should acquaint you with our little domain. It is 
not a wealthy area, signore, but riches and glory are possi- 
ble for one who is aware of political realities. These realities 
include your serfs. They constantly request more food from 
your grain reserves, grain that could be sold instead for gold 
florins. And should your justice become a trifle harsh, they 
will flee to other lands. 

Yet another concern is the weather. If it is good, so is the 
harvest. But the rats may eat much of our surplus, and we 
have had years of drought when famine threatened our 
population. 

Certainly, the administration of a growing city-state will 
require tax revenues. And where better to gather such funds 
than the local marketplaces and mills? You may find it 
necessary to increase custom duties as well as tax the incomes of the mer- 
chants and nobles. Whatever you do, there will be far-reaching conse- 
quences . . . and possibly an elevation of your noble title. 

Your standing will surely be enhanced by building a new palace, or 
perhaps a magnificent cattedrale. You will do well to increase your lan- 
dholdings, if you also equip a few units of soldiers. There is, alas, no small 
need for soldiery here, for the crafty Baron Peppone may invade you at any 
time. 




To measure your yearly progress, the official mapmaker will draw you a 
mappa. From it you can see how much land you hold, how much of it is 
under the plow, and how adequate your defenses are. We are unique in that 
here, the map IS the territory. 

I trust that I have been of help, signore. I look forward to the day when I 
may address you as His Royal Highness, King of Santa Paravia. Buon for- 
tuna, or, as you say, "Good luck." For the TRS-80 Level II 16K. Order No. 

0043R $7.95. 




PET 



* * 




PERSONAL WEIGHT CONTROUBIORHYTHMS 

Let your PET help take care of your personal 
health and safety: 

•Personal Weight Control - Your PET will not on- 
ly calculate your ideal weight, but also offer a 
detailed diet to help control your caloric intake. 
•Blorhythms-Find out when your critical days 
are for physical, emotional, and intellectual 
cycles. 

You'll need only a PET with 8K memory. Order 
No. 0005P $7.95. 

CASINO I These two programs are so good, you 

can use them to check out and debug your own 

gambling system! 

•Roulette — Pick your number and place your bet 

with the computer version of this casino game. 

For one player. 

•Blackjack — Try out this version of the popular 

card game before you go out and risk your money 

on your own "surefire" system. For one player. 

This package requires a PET with 8K. Order No. 

001 4 P $7.95. 



MORTGAGE WITH PREPAYMENT OPTION/FI- 

NANCIER These two programs will more than 

pay for themselves if you mortgage a home or 

make investments: 

•Mortgage with Prepayment Option -Calculate 

mortgage payment schedules and save money 

with prepayments. 

• Financier — Calculate which investment will 

pay you the most, figure annual depreciation, 

and compute the cost of borrowing, easily and 

quickly. 

All you need to become a financial wizard with an 

8K PET. Order No. 0006P $7.95. 

CASINO II This craps program is so good, it's the 
next best thing to being in Las Vegas or Atlantic 
City. It will not only play the game with you, but 
will also teach you how to play the odds and 
make the best bets. A one-player game, it re- 
quires a PET 8K. Order No. 0015P $7.95. 

TREK-X Command the Enterprise as you scour 
the quadrant for enemy warships. This package 
not only has superb graphics, but also includes 
programming for optional sound effects. A one- 
player game for the PET 8K. Order No. 0032P 
$7.95. 



CHECKERS/BACCARAT Play two old favorites 
with your PET. 

•Checkers — Let your PET be your ever-ready op- 
ponent in this computer-based checkers pro- 
gram. 

•Baccarat — You have both Casino- and Black- 
jack-style games in this realistic program. 
Your PET with 8K will offer challenging play 
anytime you want. Order No. 0022P $7.95. 



DOW JONES Up to six players can enjoy this ex- 
citing stock market game. You can buy and sell 
stock in response to changing market condi- 
tions. Get a taste of what playing the market is 
all about. Requires a PET with 8K. Order No. 
0026P $7.95. 



TANGLE/SUPERTRAP These two programs re- 
quire fast reflexes and a good eye for angles: 
•Tangle — Make your opponent crash his line in- 
to an obstacle. 

•Supertrap — This program is an advanced ver- 
sion of Tangle with many user control options. 
Enjoy these exciting and graphically beautiful 
programs. For one or two players with an 8K PET. 
Order No. 0029P $7.95. 




PET 



* * 




MIMIC Test your memory and reflexes with the 
five different versions of this game. You must 
match the sequence and location of signals 
displayed by your PET. This one-player program 
includes optional sound effects with the PET 8K. 
Order No. 0039P $7.95. 



PENNY ARCADE Enjoy this fun-filled package 

that's as much fun as a real penny arcade — at a 

fraction of the cost! 

•Poetry — Compose free verse poetry on your 

computer. 

•Trap — Control two moving lines at once and 

test your coordination. 

•Poker— Play five-card draw poker and let your 

PET deal and keep score. 

•Solitaire -Don't bother to deal, let your PET 

handle the cards in this "old favorite" card game. 

•Eat-Em-Ups- Find out how many stars your 

Gobbler can eat up before the game is over. 

These six programs require the PET with 8K. 

Order No. 0044P $7.95. 



ARCADE II One challenging memory game and 
two fast-paced action games make this one 
package the whole family will enjoy for some 
time to come. Package includes: 
•UFO -Catch the elusive UFO before it hits the 
ground! 

•Hit — Better than a skeet shoot. The target re- 
mains stationary, but you're moving all over the 
place. 

•Blockade — A two-player game that combines 
strategy and fast reflexes. 
Requires 8K PET. Order No. 0045P $7.95. 



BASEBALL MANAGER This pair of programs will 
let you keep statistics on each of your players. 
Obtain batting, on-base, and fielding averages at 
the touch of a finger. Data can be easily stored 
on cassette tape for later comparison. All you 
need is a PET with 8K. Order No. 0062P $14.95. 



■■MM 
















h 






pi • V£AS< 






' • 




* 


1 




V 


- 







ACCOUNTING ASSISTANT This package will 
help any businessman solve many of those 
day-to-day financial problems. Included are: 
•Loan Amortization Schedule — This program 
will give you a complete breakdown of any 
loan or investment. All you do is enter the 
principal amount, interest rate, term of the 
loan or investment, and the number of 
payments per year. You see a month-by- 
month list of the principal, interest, total 
amount paid, and the remaining balance. 
•Depreciation Schedule -You can get a de- 
preciation schedule using any one of the 
following methods: straight line, sum of 
years-digits, declining balance, units of pro- 
duction, or machine hours. Your computer 
will display a list of the item's lifespan, the 
annual depreciation, the accumulated depre- 
ciation, and the remaining book value. This 
package requires the PET 8K. Order No. 
0048P $7.95. 



DIGITAL CLOCK Don't let your PET sit idle when 
you are not programming — put it to work with 
these two unique and useful programs: 
•Digital Clock — Turn you PET into an extremely 
accurate timepiece that you can use to display 
local time and time in distant zones, or as a split- 
time clock for up to nine different sporting 
events. 

•Moving Sign — Let the world know what's on 
your mind. This program turns your PET into a 
flashing graphic display that will put your 
message across. Order No. 0083P $7.95. 



DECORATOR'S ASSISTANT This integrated set 
of five programs will compute the amount of 
materials needed to redecorate any room, and 
their cost. All you do is enter the room dimen- 
sions, the number of windows and doors, and the 
base cost of the materials. These programs can 
handle wallpaper, paint, panelling, and carpet- 
ing, letting you compare the cost of different 
finishing materials. All you'll need is a PET 8K. 
Order No. 01 04P $7.95. 

DUNGEON OF DEATH Battle evil demons, cast 
magic spells, and accumulate great wealth as 
you search for the Holy Grail. You'll have to de- 
scend into the Dungeon of Death and grope 
through the suffocating darkness. If you survive, 
glory and treasure are yours. For the PET 8K. 
Order No. 0064P $7.95. 



ARCADE I This package combines an exciting 
outdoor sport with one of America's most pop- 
ular indoor sports: 

•Kite Fight — It's a national sport in India. After 
you and a friend have spent several hours 
maneuvering your kites across the screen of your 
PET, you'll know why! 

•Pinball — By far the finest use of the PET's ex- 
ceptional graphics capabilities we've ever seen, 
and a heck of a lot of fun to boot. 
Requires an 8K PET. Order No. 0074P $7.95. 



TURF AND TARGET Whether on the field or in the 
air, you'll have fun with the Turf and Target 
package. Included are: 

•Quarterback - You're the quarterback as you try 
to get the pigskin over the goal line. You can 
pass, punt, hand off, and see the result of your 
play with the PET's superb graphics. 
•Soccer II — Play the fast-action game of soccer 
with four playing options. The computer can play 
itself or a single player; two can play with com- 
puter assistance, or two can play without help. 
•Shoot — You're the hunter as you try to shoot the 
bird out of the air. The PET will keep score. 
•Target — Use the numeric keypad to shoot your 
puck into the home position as fast as you can. 
To run and score, all you'll need is a PET with 8K. 
Order No. 0097P $7.95. 




Apple 



• * * 




GOLF Without leaving the comfort of your chair, 
you can enjoy a computerized 18 holes of golf 
with a complete choice of clubs and shooting 
angles. You need never cancel this game be- 
cause of rain. One or two players can enjoy this 
game on the Apple with Applesoft II and 20K. 
Order No. 001 8A $7.95. 



BOWLING/TRILOGY Enjoy two of Americas 

favorite games transformed into programs for 

your Apple: 

•Bowling - Up to four players can bowl while the 

Apple sets up the pins and keeps score. Requires 

Applesoft II. 

•Trilogy -This program can be anything from a 

simple game of tic-tac-toe to an exercise in 

deductive logic. For one player. 

This fun-filled package requires an Apple with 

20K. Order No. 0040A $7.95. 



MATH TUTOR I Parents, teachers, students, now 
you can turn your Apple computer into a math- 
ematics tutor. Your children or students can 
begin to enjoy their math lessons with these pro- 
grams: 

•Hanging -Perfect your skill with decimal 
numbers while you try to cheat the hangman. 
•Spellbinder — Cast spells against a competing 
magician as you practice working with fractions. 
•Whole Space — While you exercise your skill at 
using whole numbers, your ship attacks the 
enemy planet and destroys alien spacecraft. 
All programs have varying levels of difficulty. All 
you need is Applesoft II with your Apple II 24K. 
Order No. 0073A $7.95 

MORTGAGE WITH PREPAYMENT OPTION/FIN- 
ANCIER (see description for PET version 0006P) 
This package requires the Apple 16K. Order No. 
0094A $7.95. 



ACCOUNTING ASSISTANT (see the description 
for the PET version 0048P) This package requires 
the Apple 16K. Order No. 0088 A $7.95. 



MIMIC (see description for the PET version 
0039P) This package requires the Apple 24K. 
Order No. 0025A $7.95. 




HEATH 



* •* * 




MATH TUTOR II Your Apple computer can go 
beyond game playing and become a mathe- 
matics tutor for your children. Using the tech- 
nique of immediate positive reinforcement, you 
can make math fun with: 
•Car Jump — Reinforce the concept of calculat- 
ing area while having fun making your car jump 
over the ramps. 



•Robot Duel — Practice figuring volumes of 
various containers while your robot fights 
against the computer's mechanical man. 
•Sub Attack -Take the mystery out of working 
with percentages as your submarine sneaks into 
the harbor and destroys the enemy fleet. 
All you need is Applesoft II with your Apple II and 
20K. Order No. 0098A $7.95. 



MENTAL GYMNASTICS Pit your mind against 
the challenge of these ancient games: 
•Reversi-As you and a friend or the computer 
place your pieces on the board, you must each 
try to capture your opponent's pieces. The score 
can fluctuate wildly, and nobody can tell who'll 
win until the last move. 

•Wart — You can play a friend or the computer in 
this simple yet intriguing game. The two players 
take turns removing pieces from one cup and 
placing them in the other cups. As play con- 
tinues, the number of pieces decreases. The last 
player who has a piece to move wins the game. 
To enjoy these ageless games, you'll need the 
Heath H-8 with 8K. Order No. 0067H $7.96. 



DATA TAPES Use these high-quality leaderless 
data tapes to record business or personal data. 
Four tapes per package. Order No. 0067 $7.95. 

*A trademark of Tandy Corporation 
"An trademark of Commodore Business Machines, Inc. 
"A trademark of Apple Computer, Inc. 
****A trademark of the HEATH Company 



Ask for Instant Software at a computer store near you 



Alabama 

Anderson Computers 

3156 University Dr.. Huntsville 

The Computer Shack 

913 Shadyview Lane. Adamsville 

Computerland of Huntsville 
3020 University Dr . Huntsville 

OSensKy Bros 

3763 Airport Blvd.. Mobile 

Arizona 

Millets TV & Radio 

621 East Broadway. Mesa 

Resalem Electronics 

16610 Meadow Park Dr.. Sun City 

California 

Amco Elect. Supply 

635 E. Arrow Hwy., Azusa 

Byte Shop of Fairfield 

87 Marina Center St.. Suisun City 

Byte Shop of Mt View 

1415 West El Camino Real. Mt View 

Byte Shop of Sacramento 

6041 Greenback Ln., Citrus Heights 

Capital Computer Systems 

3396 El Camino Ave , Sacramento 

Computer Components of South Bay 
15818 Hawthorne Blvd., Lawndale 

Computer World 

6791 Westminster Ave . Westminster 

Computerland 

16720 S Hawthorne. Lawndale 

Computerland of San Francisco 
117 Fremont St.. San Francisco 

Computerland of W LA 

6840 La Cienega Blvd . Englewood 

Hobby World 

19511 Business Ctr. Dr.. Unit 6 

Borthridge 

ICE. House Inc. 

398 North E St., San Bernardino 

Marfam Co. 

6351 Almadin Rd.. San Jose 

Microsun Computer Center 

2989 North Main St.. Walnut Creek 

Opamp/Technical Books 

1033 N. Sycamore Ave., Los Angeles 

Radio Shack Dealer 
8250 Mira Mesa Blvd . San Diego 
Santa Rosa Computer Center 
604 7th St., Santa Rosa 
Silver Spur Elect Comm. 
13552 Central Ave . Chino 

The Computer Store 

820 Broadway, Santa Monica 

Colorado 

Byte Shop 

3464 S Acoma St., Englewood 

Computerland of North Denver 
8749 Wadsworth Blvd.. Arvada 

The Computer Store 
2300 Welton St., Denver 

Connecticut 

American Business Computers 
Rt 184 & Rt. 117. Groton 

Bridgeport Computers Inc. 
3876 Main St., Bridgeport 

Computerlab 
130 Jefferson. New London 

Customized Computer Systems 
120 Sherman Ave , New Haven 

The Computer Store 

43 South Main St., Windsor Locks 



D.C. 

The Program Store 

4200 Wisconsin Ave . N.W.. 

Washington. DC. 

Florida 

AMF Electronics 

11146 N 30th St.. Tampa 

BoydEbert Corporation 

1328 West 15th St., Panama City 

Computer Center 

6578 Central Ave . St. Petersburg 

Computerland of Ft. Lauderdale 
3963 N Federal Hwy., Ft Lauderdale 

Curtis Waters Enterprises 
236 Talbot Ave.. Melbourne 

Heath Kit Electronic 

4705 W. 16th Ave. Center, Hialeah 

Sound Ideas 

2201-C N W. 13th. Gainesville 

Ukatan Computer Store 
Airport Rd.. Destin 

Georgia 

Atlanta Computer Mart 
Atlanta 

Computerland of Atlanta 
2423 Cobb Parkway. Smyrna 

Hawaii 

Computerland of Hawaii 
567 N. Federal Hwy. 

Radio Shack Assoc. Store 
1712 S. King St.. Honolulu 

Idaho 

Electronic Specialists 
8411 Fairview Ave.. Boise 

Illinois 

Bloomington Normal Computer 

Works 

124 E Beaufort. Normal 

Computer Station 

3659 Nameoki Rd.. Granite City 

Midwest Micro Computers. Inc. 
708 S Main St.. Lombard 

Indiana 

Computer Center of South Bend 
51591 US 31 North, South Bend 

Iowa 

Memory Bank 

4128 Brady St., Davenport 

Louisiana 

Computer Shoppe Inc. 

3225 Danny Park, Suite 222. Metairie 

Maryland 

Computers, Etc. 

13 A Allegheny Ave.. Towson 

Jack Fives Electronics 

4608 Debilen Circle. Pikesville 

The Comm Center 

9624 Ft Meade Rd.. Laurel 

Massachusetts 

Computer Packages Unlimited 
244 W. Boylston St.. West Boylston 

Lighthouse Computer Software 

14 Fall River Ave.. Rehobath 

New England Electronics Co 
679 Highland Ave . Needham 

The Computer Store 

120 Cambridge St., Burlington 

Tufts Radio & Electronics 
206 Mystic Ave.. Medford 

Michigan 

Computerland of Grand Rapids 
2927 28th St S.E., Kentwood 



Computerland of Rochester 
301 S. Livernois, Rochester 

Computerland of Southfield 

29673 Northwestern Hwy., Southfield 

Computer Mart 

560 W. 14 Mile Rd., Clawson 

Hobby House 

1035 W Territorial Rd.. Battle Creek 

Minnesota 

Zim Computers 

5717 Xerxes Ave.. N. Brooklin Center 

Missouri 

Computervan. Inc. 

51 Florissant Oaks Shopping Center. 

Florissant 

Consolidated Software 

16501 Greenwald Court, Belton 

Montana 

Intermountain Computer 
529 So. 9th St., Livingston 

The Computer Store 

1216 16th St. W. #35. Billings 

Nebraska 

Computerland of Omaha 
11031 Elm St.. Omaha 

Omaha Computer Store 
4540 S. 84th St., Omaha 

Nevada 

Century 23 

4566 Spring Mountain Rd.. Las Vegas 

Home Computers 

1775 Tropicana #2. Las Vegas 

New Hampshire 

Computerland of Nashua 
419 Amherst St.. Nashua 

Radio Shack Assoc Stores 
31 Raynes Ave . Portsmouth 

New Jersey 

Computer Encounter 
2 Nassau St.. Princeton 

Radio Shack/J&J Electronic 

Mansfield Shopping Ctr. 

Rt. 57 Allen Rd.. Hackettstown 

The Computer Emporium 

Bldg. 103. Avenues of Commerce 

2428 Route 38, Cherry Hill 

The Bargain Brothers 
Glen Roc Shopping Center 
216 Scotch Road. Trenton 

New Mexico 

South West Computer Center 

121 Wyatt Drive. Suite 7. Las Cruces 

New York 

Aristo Craft 

314 Fifth Ave.. NYC 

Automatic Systems Developers 
Industry St.. Poughkeepsie 

Computer Corner 

200 Hamilton Ave . White Plains 

Computer Factory 

485 Lexington Ave . NYC 

Computer House. Inc. 

721 Atlantic Ave . Rochester 

Comtek Electronics. Inc 
2666 Coney Island Ave . 
Brooklyn 

Comtek Electronics, Inc 
Staten Island Mall 
Store 220A, Staten Island 



Home Computer Center 
671 Monroe Ave., Rochester 

Key Electronics 
Schenectady 

Mr Computer 

Imp. Plaza, Rte 9. Wappingers Falls 

The Computer Tree Inc. 
409 Hooper Rd., Endwell 

North Carolina 

Byte Shop of Raleigh 

1213 Hillsborough St., Raleigh 

Ohio 

Astro Video Electronics 
504 E. Main St., Lancaster 

Computerland 

1288 Som Rd., Mayfield Heights 

Computer Store of Toledo 
18 Hillwyck Dr . Toledo 

Forbees Microsystems Inc. 
35 N Broad, Fairborn 

Heath Kit Co. 

2500 Morst Rd . Columbus 

Micro-Mini Computer World 

74 Robinwood. Columbus 

21st Century Shop 

16 Convention Way, Cincinnati 

Oregon 

Computerland of Portland 
12020 S.W. Main St., Tigard 

Pennsylvania 

Artco Elect. 

302 Wyoming Ave . Kingston 

Artco Elect. 

Back Mountain Shop. Ctr.. 

Shavertown 

Computerland of Harnsburg 
4644 Carlisle Pike. Mechanicsburg 

Erie Computer Co 
1253 West 8th St., Erie 

Personal Computer Corp. 

24-26 West Lancaster Ave . Paoli 

Personal Computer Corp 

Frazer Mall. Lancaster Ave.. Frazer 

The Computer Workshop of 

Pittsburgh 

4170 William Penn Hwy.. Murrysville 

Wes Fasnacht 

8 York Town Ave . West Chester 

South Carolina 

Seely Communications 
1084 Broad St., Sumter 

South Dakota 

CB Radio Shack 

21st and Broadway. Yankton 

Tennessee 

Computerlab 

671 S. Menden Hall Rd . Memphis 

Texas 

Computercraft Inc 
3211 Fondren, Houston 

Computer Port 

926 N Collig, Arlington 

Houston Microcomputer Tech 
5313 Bissonet, Bell Aire 

Interactive Computers 

7620 Dashwood Rd.. Houston 

K A Elect. 

9090 Stemmons Frwy , Dallas 

Pan American Elect. Inc. 
1117 Conway, Mission 

Ram Micro Systems 

6353 Camp Bowie Blvd.. Ft Worth 



Reb's Mail Order Electronics 
5439 Doliver, Houston 

Virginia 

Home Computer Center 
2927 Virginia Beach Blvd.. 
Virginia Beach 

Southside Radio Comm. 

135 Pickwick Ave., Colonial Heights 

Washington 

American Mercantile Co. Inc. 
2418 1st Ave S.. Seattle 

Personal Computers 
S 104 Freva, Spokane 

Ye Old Computer Shop 

1301 G. Washington, Richland 

West Virginia 

The Computer Corner Inc. 

22 Beechurst Ave., Morgantown 

Wisconsin 

Byte Shop Of Milwaukee 

6019 West Layton Ave., Greenfield 

Wyoming 

Computer Concepts 

617 W. 16th St., Cheyenne 

Guam 

The Fun Factory 

851 Marine Dr.. Tamuming 

Canada 

Computerland of Winnipeg 

715 Portage Ave., Winnipeg, Man. 

Compumart 

411 Roosevelt Ave . Ottawa, Ontario 

Computer Mart Ltd 

1055 Yonge St., Suite 208 

Toronto, Ontario 

Galactia Computers 

103rd Ave . Edmonton, Alberta 

Micro Shack of W. Canada 
333 Park Street, Regina Sask. 

Orthon Holdings Ltd. 
12411 Stony Plain Road 
Edmonton, Alberta 

Totaj Computer Systems 
A|ax. Ontario 

West Germany 

Electronic Hobby Shop 
Kaiserstr. 20, Bonn 

MicroShop Bodensee 
Markstr 3, 7778 Markdorf 

Italy 

HOMIC s.r.l. 

Piazza De Angeli 1, Milano 

France 

Sideg 

45 Rue de la Chapelle, Pans 

Sivea s a 

20. Rue de Leningrad, Paris 

South Africa 

Eddie Talberg 

P O Box 745. Johannesburg 

Australia 

Computerware 

62 Paisley St., Footscray VIC 

Deforest Software 
36 Glen Tower Drive 
Glen Waverly. VIC 

Softromcs Micro Systems 
Lindfield 

Sure-Load Software 

P O Box 26. Weston. ACT 



Ask for Instant Software at a computer store near you, or use the order form below to order your 
software direct, or call Toll-Free 1-800-258-5473. 



Name 



Address 
City 



State 



Zip 



i 



i 



L 



Instant 
Software Inc. 



D Check Q Money Order D VISA □ Master Charge □ AMEX 

Card No. Expiration date____ 

Signature Date 



Peterborough. NH 03458 USA 



40A0 



Quantity 


Order No. 


Unit Cost 


Total Cost 






































































Handling 


$1.00 


Prices 


Valid In USA Only 


Total order 





J 




Unleash your PET in the darkroom. 



Jeff Knapp 
1823 7th Ave. 
Charleston WV 25302 



the process control routine for 
film and print developing; and 
the clock/timer routine, which is 
called by the exposure and pro- 
cess routines. All the routines 



make extensive use of the PET 
BASIC GET command and the 
PET's real-time clock. 

The control routine contained 
in lines 130-230 GETS the menu 



choice and sends you to the ap- 
propriate section of the pro- 
gram. As in all sections, the GET 
command is used for menu 
choices so you do not have to 



Many people who have com- 
puters and electronics for 
hobbies or vocations also enjoy 
another technical field, pho- 
tography. This program for the 
PET allows you to combine the 
two fields to give you a practical 
application for the computer 
and, in addition, bring comput- 
er accuracy to the darkroom. 
Darkroom Master will let you 
automate many of the timing 
functions in your black-and- 
white or color darkroom. With it 
you can control your enlarger 
and safelight for exposure and 
sequentially time the process- 
ing of your film, prints or slides. 

The Software 

There are four major sections 
to the software: the control rou- 
tine, containing a menu of avail- 
able functions (each function 
also has its own menu); the ex- 
posure control routine for en- 
larger and safelight operations; 





Darkroom Master. 


16 rehoooooooooooooo<xxx>ooooooooooooo<x>ooo 


26 REM 




30 REM 


DARKROOM MASTER 


40 REM 




50 REM 


BV JEFF KNAPP 


60 REM 




70 REM 




80 REM 




90 REHOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 


1 00 P0KE59459 , 255 P0KE5947 1 , 


DIMP$<6> 


110 P* < 1 > = " «««««" W < 2 > = " flUUHHHHH)" PI < 3 ,' = " flM<W»I«W««»M" : F* < 4 > = " dUftMUMMRUMDONUlM" 


120 F*<5>="*$mMmm!wmaatt" 


p $(.€>-" cj«rt««imiiipnii»w««pni(nww" 


130 REM*********** TITLE PAGE 




140 P&TMT'-I 


■I 


150 PRINT" st DARKROOM 


MASTER " 


1 60 PR I NTP* < 2 > ; TAB < 4 ) ; ■ PRESS . 


FOR EXPOSURE CONTROL" 


1 70 PR I NTP* <3> ; TAB < 4 > ; " PRESS - 


- FOR PROCESS CONTROL" 


1 90 GETC* ; I FC *= " " THENGOT0 1 90 




200 IFC*=". "THENGOSUB 250 GOTO 280 


210 IFC*="-"THENGGT0 640 




230 GOTO 140 




240 REM******* EXPOSURE CONTROL ROUTINE 


?*P pPTNT"T'^T«p^fti:'' 


II 


260 PRINT" SI EXPOSURE 


CONTROL " 


270 RETURN 




280 PR I NTP* ( 1 ) ; TAB < 4 > ; " PRESS 


. TO FOCUS" 


290 PR I NTP* < 2 ) ; TAB < 4 > ; " PRESS 


- TO SET EXPOSURE TIME" 


300 PR I NTP* <3> ; TAB C4> ; " PRESS 


= TO START OVER" 


310 GETA*: IFA*=""THENG0T0 310 




320 IFA$="."THENG0T0 360 




330 IFA*="-"THENGOTO 460 




340 GOTO 140 




350 REM****** FOCUS ROUTINE 




360 GOSUB 250 




370 P0KE59471,16 




380 PRINTP*a>;TAB<4>, " 


it 


390 PR I NTP* < 2 > ; T AB < 4 > ; " PRESS 


- TO SET EXPOSURE TIME" 


400 PR I NTP* < 3 > , TAB < 4 > ; " PRESS 


= TO START OVER" 


410 GETA$IFA*=""THENG0T0 410 




420 POKE59471,0 




430 IFA*="-"THENG0T0 460 




440 GOTO 140 




450 REM****** EXPOSURE ROUTINE 



126 Microcomputing January 1980 



press the return key to activate 
the PET. 

If you press the "start over" 
key or any illegal key, the PET 
will cancel the function and 
send you back to the control 
routine. All of the control keys 
are located at the bottom of the 
numeric keypad, with the excep- 
tion of the space key (more 
about that later), so that it is 
easy to make entries without 
hunting all over the keyboard in 
the dark and possibly pressing 
the wrong button. 

The exposure control routine, 
lines 240-630, consists of two 
subroutines for focusing and 
obtaining the actual exposure. 
Each has its own menu of op- 
tions. The focus subroutine only 
turns on the enlarger; no timing 
is performed here. But the expo- 
sure subroutine, once it inputs 
your exposure time, calls the 
clock/timer and turns off the 
safelight, turns on the enlarger 
and starts counting until the 
clock matches your entry. Then 
it shuts down the enlarger and 
turns the safelight back on. 

You now have the option of 
exposing another print (if you 
want to make 100 prints from 
the same negative), changing 
your exposure time, refocusing 
the enlarger or starting over 
from control and going on to 
process your print. 

The process control routine, 
lines 640-1090, as written, is set 
up for processing black-and- 
white prints. I'll talk later about 
setting it up for processing films 
and color media. Upon going to 
the routine from control, you will 
be asked to enter times for 
developing, stop-bath time, fix 
time and the drain times in be- 
tween steps. You can change 
your times once they are en- 
tered if you wish. 

When you start the timing, 
each step is printed on the 
screen along with its own clock 
in reverse video. At the end of 
the timing sequence, you are 
asked if you want to run the 
same times again for proces- 
sing the 100 prints you made 
earlier. 

The clock/timer routine, lines 
1100-1270, is the heart of the 
program. It compares your entry 
against the current time and 
takes appropriate action on the 



INPUT "EXPOSURE TIME'SET* 
8 TO START/REPEAT EXPOSURE" 
. TO CHANGE EXPOSURE" 
- TO FOCUS" 
= TO START OVER" 



460 G0SUB 250 

470 PRINTP$a>,TAB<21>;" 

480 PRINTP*<1>; PRINTTAB<8>, 

490 PRINTP*<3>;TAB<:4>, "PRESS 

500 PRINTP*<4>,TAB<4>,"PRESS 

510 PR I NTPf < 5 > , T AB < 4 > ; " PRESS 

520 PR I NTP* < 6 > ; TAB < 4 > , " PRESS 

530 GETA*IFA$=""THENG0T0 530 

540 IFA*="0"GOTO 580 

550 IFA*=". "GOTO 470 

560 IFAS="-"THENPOKE59471,0 GOSUB 250 GOTO 370 

570 GOTO 140 

580 TM$=ET* : P=l T=21 : T I $="000000" 

590 P0KE59471,16 

600 GOSUB 1100 

610 POKE59471.0 

620 GOTO 490 

630 STOP 

640 REM****** PROCESS CONTROL ROUTINE 

650 DT*="0" DR*="0" ST$="0" Fl$="&" WT*="0" P0KE59471 ,0 

666 PPINT'Tl _ -" 

676 PRINT" a PROCESS CONTROL " 

680 PR I NTP$<1>,TAB<7>: INPUT "DEVELOP TIME " , DT* 

690 PR I NTP* < 2 ) , TAB < 6 > I NPUT " ST0PBATH T I ME " • ST* 

700 PR I NTP* < 3 > , T AB ( 1 1 > I NPUT " F I X T I ME ".FT* 

710 PRINTP$<4>.:TAB<8> I NPUT "DRAIN TIMES " , DR* 

720 PRINTP*<6>: "PRESS 8 TO START TIMING" PRINT 

730 PRINT "PRESS - TO CHANGE TIMINGS" PRINT 

740 PRINT-PRESS = TO START OVER" 

750 GETA$:IFA*=""THENGGTG 750 

760 IFA*="0"THENGOTG 790 

770 IFA*="-"THENG0T0 660 

780 GOTO 140 

796 REM****** DEVELOPING ROUTINE 

300 PR I NT ".T " 

810 PRINT" Si PROCESS CONTROL " 

820 PRINTP*U);TAB<4>, "DEVELOPING TIME " PRINTP$<2>, TAB<9>, "DRAIN TIME 

830 PRINTP*<3>,TAB<6>;"ST0PBATH TIME " PRINTP*<4>, TAB<9>, "DRAIN TIME " 

840 PRINTP*<5>;TAB<11>,"FIX TIME ■ 

850 TM$=DT* : P=l T=20 T I $="000000" 

860 GOSUB 1100 

878 P0KE5947 1 , 4 : FORM" 1 TO 1 000 NEXT 

880 POKE59471.0 

890 TM$=DR$ P=2 T=20 T I ♦= "000000 " 

900 GOSUB 1100 

9 1 8 P0KE5947 1,4 F0RX= 1 TO 1 000 NEXT 

920 POKE59471.0 

930 TM*=ST* P=3 T=20 : T I $="000000" 

940 GOSUB 1100 

950 P0KE59471 ,4 FORX=1TO1O00 NEXT 

960 POKE59471,0 

970 TM*=DR* : P=4 T=20 T I $="000000" 

980 GOSUB 1100 

990 P0KE59471 , 4 F0RX=1 TO1000 NEXT 

1000 POKE59471,0 

1010 TM*=FT* : P=5 T=20 T I ♦="000000" 

1020 GOSUB 1100 

1 030 P0KE5947 1,4 F0RX= 1 TO 1 000 NEXT 

1040 POKE59471,0 

1050 PRINT PRINT PR I NT: PR I NT "PRESS e TO REPEAT" PRINT 

1060 PR I NT "PRESS = TO START OVER" 

1 070 GETA* : I FA$= " " THEN 1 070 

1080 IFA*="0"THENGOTO 790 

1090 GOTO 140 

1100 rem****** clock/timer routine 

1110 min$=left*<tm*,1> sec*=right*am*,2> 

1120 printp*<p>,tab<:t>;"t ■ 

1138 PRINTP*<P>,TABa>;"a %MID*<TI*,3,2>, " ",RIGHT*<TI$,2>, " " 

1140 GETA*IFA$=""THENG0T0 1160 

1150 GOSUB 1230 

1160 IFRIGHT*<TI*,2>=SEC*THENG0T0 1188 

1170 GOTO 1130 

1188 IFRIGHT$<MID*<;TI$,3,2>,1>=MIN*THENGGTG 1200 

1190 GOTO 1130 

1 200 PR I NTP* < P > ; TAB < T > ; " H 

1210 PRINTP*<P>,TAB<T>," ",MIB*-::TI*, 3,2>, " : M ,RIGHT*<TI$,2>; " " 

1220 RETURN 

1230 H*=TI$ IFA*=" "THENPRINTP*<P>,TAB<28>; " HOLD" GOTO 1250 

1248 GOTO 140 

1 250 GETA* I FA*= " " THENG0T0 1 250 

1 260 I F A$= " " THENPR I NTP$ < P > ; TAB < 28 > , " " : T I *=H* RETURN 

1270 GOTO 666 

1288 END 



Ul - 7404 
3 



USER , — . ihv*_ 

PORT ~J>— — luiA^a 

PIN E ^^ \/^ 



CASSETTE 

P QRT 

PIN B I >■ 




|W^-4 



330 

I/4W 



pin a rz> — - T0 Ul 33 ° 



PIN 7 I/4W 



MCT2 

OPTO- 

ISOLATORl 



U2 - 7406 




3.6k 

4 I/4W 



O.lpF-H 
TANTALUM " 



Bl ^^fp^^r- 



MCT2 

OPTO- 

ISOLATORl 



-H(- 



555 
TIMER 



Kl 



22 pF 16V 



6 8k 

I/4W 

2 2k 

1/4* 

•C22pF 72Z 
DISC 



OlpF^-rv 



SPEAKER 



I 1 <^] GNO 



-*0 5V - 



USER 
> SUPPLIED 
POWER 



^ 



RS 275-004 « , 
RELAY j 

(RADIO SHACK) 



AC SOCKETS 



<D) 



SAFELIGHT IOOW MAX 



kfilf - 

Ul ft U2 PIN 14 IS +5, PIN 7 IS GND 



NO 



1 



O 



<zi 



ENLARGER IOOW MAX 



<CI 



T IIOV AC 



Fig. 1. Darkroom Master circuit diagram. 

Microcomputing January 1980 127 




PRESS 



TO FOCUS 



PRESS - TO SET EXPOSURE TIME 
PRESS * TO START OVER 



Photo 1. 



Photo 2. 



PRESS - TO SET EXPOSURE TIME 



PRESS 



TO START OVER 





■HH^HSSHBflXS 


EXPOSURE 


TIME? 818 


PRESS 


8 


TO 


START/REPEAT EXPOSURE 


PRESS 


• 


TO 


CHANGE EXPOSURE 


PRESS 


- 


TO 


FOCUS 


PRESS 


SB 


TO 


START OVER 



Photo 3. 



Photo 4. 





HBHBHHE 


EXPOSURE 


T I MESSES 


PRESS 


8 


TO 


START/REPEAT EXPOSURE 


PRESS 


• 


TO 


CHANGE EXPOSURE 


PRESS 


- 


TO 


FOCUS 


PRESS 


■ 


TO 


START OVER 



m immM \ 




DEVELOP TIME ? 138 




STOPBATH TIME ? 815 




FIX TIME ? 288 




DRAIN TIMES ? 85 


PRESS 


8 TO START TIMING 


PRESS 


- TO CHANGE TIMINGS 


PRESS 


■ TO START OVER 



Photo 5. 



result. It prints the clock at the 
correct place on the screen in re- 
verse video while the clock is 
running, and then in normal 
video after the clock has 
stopped, going on to the next 
timing function. This allows you 
to see at a glance where you are 
in the timing sequence. 

The Hardware 

The hardware to make it work 
is shown schematically in Fig. 1. 
The upper half of the circuit is 
the beeper for the time-out indi- 
cator of the processing section. 
The PET user port, pin E, is con- 
nected through two buffers to 



an optoisolator. The opto- 
isolator's output is sent through 
two more buffers that gate the 
power to a 555 astable oscillator. 

When the computer executes 
a POKE 59471,4, a high-level 
signal is present on pin E. This 
activates the optoisolator and 
the following buffers, which turn 
on the power to the oscillator, 
generating a tone. POKE 
59471,0 turns off the tone. 

The rest of the circuit is simi- 
lar, but a relay is powered by the 
buffers instead. The relay con- 
tacts are connected to ac power 
sockets for control of the enlarg- 
er and safelight. The optoisola- 



Photo 6. 



tors are there to protect the PET 
from the potentially dangerous 
110 volts ac. Don't leave them 
out. This is one place where you 
can't skimp. 

To carry this further, U1 and 
the optoisolators are powered 
by the PET through connections 
on the PET cassette port— pin A 
for the ground and pin B for +5 
volts. The remainder of the cir- 
cuit (U2, the 555 and the relay) 
are powered by a user-supplied 
5 V supply. Any method of con- 
struction can be used as long as 
the 110 V connections are hefty 
enough to carry 100 Watts with 
no problem. Use twisted pairs 



to carry the signals from the PET 
to your enlarger/safelight con- 
trol box. 

Making It Work 

When the hardware is con- 
structed and connected, plug 
the enlarger and safelight into 
the appropriate outlets and load 
the program. As you probably 
know, you must use a safelight 
in the darkroom, that is, a lamp 
with a special filter that emits 
light that your photo materials 
are not sensitive to. This en- 
ables you to see what you are 
doing without ruining the light- 
sensitive materials. 

But where do you find an af- 
fordable 5 1 /2 x 7 1 /2 inch safe- 
light filter for your PET? Go to 
your local graphic arts or print- 
er's supply shop and purchase a 
sheet of Amberlith or Rubylith. 
These are materials manufac- 
tured by Ulano, Inc., that allow 
your printer to mask off portions 
of the artwork he is photograph- 
ing to prevent the camera from 
"seeing" them. They work by 
blocking the light waves that the 
film is sensitive to and passing 
the ones the film is insensitive 
to. 

We can put this to work in our 
darkroom by covering the PET 
screen with Rubylith if we are 
using orthochromatic materials 
(such as litho film) and by using 
Amberlith if we are using pan- 
chromatic materials such as en- 
larging papers. These products 
come in sheets and rolls and are 
intended to be stripped from the 
clear backing sheet for use; 
however, just cut out a section 
large enough to cover the PET 
screen and hold it in place with 
masking tape along the edges. 

To keep light from leaking 
out, turn the brightness all the 
way down and keep the PET at 
least four feet away from any 
light-sensitive materials. You 
may have to use a double thick- 
ness of Rubylith or Amberlith. 
Of course, you cannot use any 
safelight with panchromatic 
sheet film or with color 
materials, as they are sensitive 
to almost all visible light wave- 
lengths. So set up your expo- 
sure and then cover the PET 
with a dark cloth before bringing 
out those materials. 

To expose a print, enter ex- 



128 Microcomputing January 1980 








PURGE • SET * R ^ /0 ERAS\ REPEAJ . RS-WJ^oCKS 



HARDWARE FOR TRS-80® 

Pertec Disk Drives FD 200 $375.00 ei 

These are 40-track Drives that are completely com- 
patible with the TRS-80 and Radio Shack Drives. 3.0 
DOS $20.00 extra with disk drive. Will allow Turning 
Diskette over and Write on other side. 

D 4 Drive Cable for Pertec Drives $35.00 

DECwr.ter III. 132 Character $2500.00 

110 to 9600 band EIA tractor feed keyboard printer. This 
is truly the nicest printer available. (30 day delivery) 

[1701 Centronics TRACTOR FEED 

Bidirectional Printer $1 500.00 

2Vi times as fast as the Radio Shack 779 Printer, has full 
size 132 Char. Carriage Bell tone. Complete with Cable 
plug in and use. Shipped Freight COD. 

H200 ns'16K Dynamic Memory Clips for Keyboard or Expan- 
sion Interface, Lifetime Guarantee, complete $110.00 

Lifetime Guarantee. Complete with Instructions and Jumper 
Blocks. 

[ 110 Key Numerical Keypad Kit $79.95 

DTRS 80 ' Level II - 16k $750.00 

D Expansion Interface $275.00 

QRS 232 C Interface $ 8900 

ORDER NOW AND SAVE 

Just list the items you want 
and mai\ this convenient coupon. 



SOFTWARE BY ACS 

DMonitor No. 3 $29.95 

Complete Machine Language Monitor for TRS-80 features: 
Find, EDIT, Relocate, Symbolic Dump to Tape. etc. 

DMonitor No. 4 $49.95 

All of the commands that reside in Monitor No. 3, plus: 
RS-232 1/0, Disk Program 1/0, Symbolic Dump to Disk for 
Loading into Disk Editor/ASM., Track & Sec 1/0 for 
modification. 

DPCLEND S15.95 

Will Patch ASCII files of Basic Programs or text or DATA 
FILES so that they may be loaded into the Disk Version of 
the Electric Pencil for Editing purposes comes on Cassette 
that will automatically create a Disk file of PCLEN0. 

DMAKETAPE AND MAKE DISK 

for Cassette Dealers $69.95 

These are two programs that will allow you to take any type 
of Program from Disk and store it on tape for mailing 
purposes. When the user receives the program in the mail 
on cassette, it is loaded into the computer which will 
automatically make a Disk file of the program. 
CP/M & C BASIC for the TRS-80 " 

CP/M Includes: M0VCPM, STAT, PIP, Dump, DDT, ASM 
(8080), ED, plus 6 user manuals. 

CP/M $150.00 

C Basic 2 Includes: XREF2, CBAS2, and manuals. 

C BASIC 2 , $99 95 

□ G2 LEVEL III BASIC for TRS-80 ? Special $39.95 

DTELC0M - Telecommunications for the TRS 80 .* $29.95 

Telecommunications for the TRS-80 "allows one TRS-80 " 
to communicate with another through the RS-232-C over 
the phone line. 




VISA' 




Orders received by 6:00 p.m. shipped next 
day on Master Charge, Visa, Certified 
Check or Money Order. Personal Checks re- 
quire 14 days to clear. No C.O.D. Collect 
calls not accepted. All Hardware warranted through ACS 
for 1 full year. Software guaranteed for replacement on- 
ly. Trices subject to change without notice. 



Automated 

Computer 
Software service 

(615) 244-2798 

Division of 

[Jnnuiai tUurld i NC 

625 Main Street • Nashville, TN 37206 




Send Check or Money Order payable to — 

SOFTWARE • P.O. Box 60097 • Nashville, TN 37206 



Quan. Description 



Unit Price Total 



























HAND 
TENN 


LING CHARGE $1.50 

. RES. ADD 6% SALES TAX 


TOTAL 





Name 



Address 
City _ 



State 



□ Check 

□ Money Order 

□ MasterCharge 

□ Visa 

Card No. 



Exp. Date 



Zip- 



posure control by pressing the 
decimal key (Photo 1). You can 
now focus by again pressing the 
decimal key (Photo 2). When you 
have focused, press the minus- 
sign key (Photo 3). Type in the 
exposure time (Photo 4). If it is 
less than one minute, type a 
leading zero. For example, for a 
five-second exposure, type in 
"05"; for a ten-second exposure, 
type in "010." 

For an exposure of one min- 
ute or more, type in the number 
without a leading zero and with- 
out a colon. The computer adds 
the colon for you, i.e., type in 
"130" for one minute and thirty 
seconds. You must press return 
when entering your times for ex- 
posure and processing; all other 
entries are under GET command 
control and do not require a 
return. 

You now have another menu 
to choose from. You can start 
the exposure, change your expo- 
sure, recheck your focus or es- 
cape back to control. 

Start your exposure (Photo 5). 
The running clock will show in 
reverse video, properly for- 
matted, at the point on the 
screen where you entered the 
exposure time. Remember that I 
promised you I would explain 
about the space bar? Here's 
where it comes into use. 

Suppose the print you are 
making needs a certain area 
"burned in," that is, given more 
exposure than the rest of the 
print. Just press the space bar 
and the word "hold" will appear 
next to the clock. This halts the 
timing, freezes the clock and 
leaves the enlarger on, allowing 
you to burn in the chosen area. 
When you are finished burning 
in, press the space bar again. 
The "hold" will disappear and 
the clock will pick up from where 
it left off. 

When the clock has finished 
its count, it reverts to normal 
video, the enlarger turns off and 
the safelight turns on. Your 
menu is still on the screen for 
choosing the next function. To 
process the print, press the 
"equal" sign to get back to con- 
trol and the "minus" sign to go 
to process control. 

To process the print (Photo 6), 
enter the times for developing, 
stop bath, fixing and drain. A 









■ 


HBHHI 




i if- 


DEVELOPING 


TIME I 


*-♦ 


■ HOLD 


DRAIN 


TIME 






STOPBATH 


TIME 






DRAIN 


TIME 






FIX 


TIME 







I 


__ 


DEVELOPING 


TIME 


81:36 


DRAIN 


TIME 


68 85 


STOPBATH 


TIME 


88:15 


DRAIN 


TIME 


88:85 


FIX 


TIME 


82:88 


PRESS 8 TO REPEAT 




PRESS - TO START OVER 



Photo 7. 

timer is not included for wash- 
ing the print because it would tie 
up the computer for as much as 
two hours, and washing a print 
does not require to-the-second 
accuracy. You can use a wall 
clock or your wristwatch to time 
the wash step (don't use an LCD 
wristwatch with a tritium back- 
light; it will fog most photo ma- 
terials). 

When entering times, the 
leading zero rule applies. If you 
do not wish a drain time be- 
tween steps, just enter "00" 
when asked for that time. 

As with the exposure control, 
the clock appears in reverse 
video (Photo 7), formatted, and 
reverts to normal video at the 
end of the count. You can use 
the hold control here also, as 
you may want to use hot devel- 
oper or ferricyanide bleach on 
the print. 

And in both exposure and pro- 
cess controls, you can repeat 
the timing sequence without re- 
setting the clock (Photo 8). This 
is helpful if you have to batch- 
process some prints, such as 
the 100 prints from one negative 
I mentioned earlier. You could 
first expose and then process all 
of them. 

Modifications 

If you are more into color 
prints than black and white, it's 
just as easy to control the pro- 
cess. You will have to change 
the process step labels, lines 
680-840. And while you are in 
there, add the POKE commands 
to turn your motorized agitator 
on and off with the processing 
steps! The same principles ap- 



ply with any process (such as 
films or litho materials); you may 
have to add or delete some 
steps and change the labels. 

And to make the work easier, 
add an external numeric keypad 
for remote entry of exposure 
and processing times while the 
PET is safely away from the en- 
larger and the sink. Get any 16 
button keypad with SPST 
switches and wire it as shown in 
Table 1. 1 have not tried to make 
a keypad remote yet, but accord- 
ing to what I have read this 
should work well. 

To make the program even 
more useful, add routines to 
keep track of the number of 
prints processed in a gallon of 
developer, for converting expo- 
sure times when using variable- 
contrast filters and to add an 
A/D converter for a densitometer 
to let your computer calculate 



PhOtO 8. 

the exposure times. 

Conclusion 

There are a lot of things you 
can do with the hardware and 
the program when not running 
Darkroom Master. You can 
switch two ac devices and use 
the clock routine in real-time 
control applications. I'll soon be 
moving to a new house and look 
forward to putting my computer 
to work in a practical applica- 
tion. The program as written 
runs in 3.8K of PET memory. 

I'll be happy to answer any 
questions you may have or to 
hear about how you have used 
Darkroom Master; just be sure 
to include return postage if you 
want a reply. 

I want to thank my wife, Millie, 
for typing the manuscript, and 
Emory Wright for the use of his 
PET printer. ■ 





From Pet 


To One Side 


The Other Side 




Keyboard 


Of Switch 


Of The Switch 




ConnectorPin 


On Keypad 


To The Pet Key- 
Board Connector 








Pin 






G 


DECIMAL POINT 




10 




G 







9 




G 


1 




7 




G 


2 




8 




H 


3 




7 




G 


4 




5 




G 


5 




6 




H 


6 




5 




G 


7 




3 




G 


8 




4 




H 


9 




3 




H 


9 




3 




H 


MINUS 




9 




H 


EQUALS 




10 




c 


SPACE 




9 




F 


ENTER 

Table 1. 




5 



130 Microcomputing January 1980 



EPROM PROGRAMMERS 










EP-2A SERIES 

PROGRAMS 2708 and 2716 

EPROMS 

Price $59.95 Assembled and 

Tested 

Kit price $49.95 

Includes Connector 




EP-2A-78 SERIES 

PROGRAMS 2708, 2716, 

2758, TMS 2716 and TMS 

2532 EPROMS 

TEXTOOL ZERO FORCE 

SOCKET 

Price $79.95 Assembled and 

Tested 

Includes Connector 



Software available for the Rockwell AIM-65, MOS Technology 
KIM-1, Synertek SYM-1, Motorola D2, RCA VIP and many other 
single board computers that use the 6502, 6800, 8080/85, Z-80, 1802, 
F-8 and 2650 CPU's. Stock. Specify one set of software. 

Optimal Technology Inc. 

^010 Blue Wood 127 
Earlysville, VA 22936 U.S.A. 
Phone (804) 973-5482 




on computers, peripherals, software and other Radio Shack® products. 

Offered Exclusively By 

Pan American . Radio /haek 

bleCtrOniCS, mC. Authorized Sales Center 

11 17 CONWAY MISSION, TEXAS 78572 

East 212/283-0543 North Central 312/666-6098 
West 213/564-5463 South Central 512/581-2765 

(main telephone number) 



i^R34 



V7S4* 



NO TAXES on out-of-state shipments. 
FREE delivery available on minimum orders. 
WARRANTIES honored by Radio Shack® . 




MULLEN Computer Products 

EXTEND YOURMICRO 



S-100 EXTENDER/LOGIC PROBE 

for checking out your S-1 00 buss computer. 




"Everyone who builds kits or 

original boards for the S-100 bus 

needs an extender board and logic probe. 

This is a fine combination. I only wish I 

had mine two years ago. " 

Robert L. Leffert 
Kilobaud Microcomputing 
August 1979 



O "JLUU CONTROL BOARD a simple to use interface board 
for all S-1 00 buss computers. Let your computer listen to the 

outside world thru 8 opto- 
isolated inputs, make 
program decisions, and 
issue open/close orders to 
8 reed relays. Complete 
programming and opera- 
tion instructions included. If you have a higher power ap- 
plication we offer a 500 watt AC POWER MODULE ($15 
each). 

CB-1 ($1 29 kit) ($1 79 assm/tested) 



HS 



H8* is a trademark 
of Heath Company 



3fc EXTENDER BOARD lets H8 owners 
troubleshoot their boards faster and easier. 

Each board 
can be ex- 
tended above 
the computer 
for complete 
access to all 
circuits and 
components. 




HTB-0 ($39 kit) 



MULLEN Computi 



BOX 6214, HAYWARO, CA 94544, OR PHONE (415) 783-2866 
VISA/MASTER CHARGE ACCEPTED. 

PLEASE ORDER KITS BY NAME (H8 OR S-100) 
NO CHARGE FOR SHIPPING WHEN PAYMENT IS INCLUDED. 
CALIFORNIA RESIDENTS ADD TAX. 



Order direct or contact your local computer store. 



iS Reader Service — see page 227 



Microcomputing January 1980 131 



REC YC LE(D) 
COMPUTERS 

BUY tf SELL tf SWAP 
Hardware & Software 

NEW PRODUCT ANNOUNCEMENTS 

32 pagfS or more 

Mailed 1st class every 3 Weeks 
lyr. (18 issues) # $3.75 



ON LINE 



racvel* u»d computers 



^02 



Babe $eetle,$ubli*f)er establish* 1975 

24695 Santa Cruz Hwy.. Los Qatos, CA 95030 

THE SEST WAY TO DETERMINE IF ONLINE CAN SE OF VALUE TO YOU IS TO THY A . .. . 



SUPERBRAIN" in stock! 

This is the most cost-effective computer system available. FREE 
DISKETTES. With every order for a SUPERBRAIN received before 
December 31, 1979, we will include 20 free diskettes. And don't forget 

— our price of $2895.00 includes U.S. shipping. 

Or, if you prefer, send $100.00 deposit and we will ship COD, freight 
collect. 

SUPERBRAIN $2895.00 ppd. 

BCD CLOCK — Here's a novelty item that's also practical. It's an actual 
clock that really tells time. Only this clock reads out in Binary Coded 
Decimal (BCD). Features 24 hour, 6 "digit" display. Amaze your friends 

— only you can read it! 

BCD-1 Complete kit with instructions $24.95 

BCD-2 Wood case and plastic bezel for above $ 5.95 



APPLETIME.a Real Time Clock 
for the Apple II. Plugs directly into any 
slot and keeps time even when 
computer is off. Features 12/24 
Hour, BCD/ ASCII data format, and 
AC/Crystal time base selection. 
Includes software examples for 
machine language and BASIC pro- 
grams. Completely assembled and 
tested. 
APT-1 Real Time Clock $79.95 



PROTOBOARD.with over 1300 
holes on 0.1 centers for designing 
your own circuits. 
APB-1Protoboard .... $17.95 



VERBATIM 5 1 /»" DISKETTES 

Soft Sector Box of 10 . . . $34.50 

(plastic file case included) 



. 



»^W29 



west side electronics 

P.O. Box 636, Chatsworth. CA 91311 

We pay all shipping m Continental USA 
Others add 10% California residents add 6% tax 




n 




Wmd 






I 





va)« Join Arnold <Iie-PACK In -the os^.'ce o$ *he *>orld 

rekno\*>r\ x>v Awoeew &atcs cs * . arwold 

ha*» been rtovfriOj Seme r)'*gr\<mares lately 



Stfto 




iME 



^c Computed ScW\z.oPmeTfN^ 



D^> you. -feel paranoid coher* -friends or 
relolwes Come over to plavj ^oor o,anr\es 
Bo\ have "to u/att 4 v yoo -To'cHAH^e ^e 

p*bt>ur6 "I 




&&MffL'<\*S 



Are your" CJoo<^ies» St^rtirvj "t 
Combs 4cr VUL F2>«EMi\IER ? 



"to r<sewblt 




Da Solution \+ Z\*p\e *n^ -f r-'i«nd ' Tuy rteW 
?ADPL^ PLUS ™ a^d vjour m^htn^jr^and 
T>robt*rtv5 uottl C«*seM.|\ 





Yc^, 13UCKA) "4°^ CAM soWc your F. P. 
Tntecyratect piu^-in extender yyrts YoU\ 



o o 



ORDER FORM 



D Paddle Plus 
D Bright Pen 
□ Reset Guard 

Nam* 



(71)14 
Ca 34 

fr/34 



Address 
> City 



State 




Zip 




10432 Burbank Boulevard ^ S90 

North Hollywood, California 91601 
(213) 985 5763 



< 




132 Microcomputing January 1980 







The LIBRARY 100 from TBS is without doubt the greatest software 
bargain ever. Released in November 1978, it has sold thousands in 
44 countries. Written for the TRS-80, LIBRARY 100 contains 100 
programs on five tapes. Most of the programs can be run on a 4K, 
Level II computer. Designed to be a basic computer library, it provides 
a series ot programs over a broad range of topics. All programs but 
one are written in BASIC and can easily be modified to suit your 
own purposes. 

"The program mix is eclectric, interesting, and curious ... If I had a 
Level II TRS-80 and one or more grade-school children, or if I were a 
hardcore software collector, or if I had little software and wanted to 
get a lot of it with a minimum of bother, I'd buy the Library 100." 
Stephen Gray, Creative Computing, April, 1979. 

". . .a basic computer library for the hobbyist, parent or business- 
man." Kilobaud Microcomputing, December 1978. 

The programs are spread over five general categories; Finance, 
Education, Graphics, Home and Games. As an added bonus, the 
VJJOTiWiX Mtora^wftTtoy PILOT, a condensed version of the high 
level language primarily used in education. It is perfect for teachers, 
parents, students and sales trainees. Using only six commands, even 
a child could be programming in minutes. The other programs are 
as Mows: 

FINANCE: Present Value of Future Sum, Simple Interest for Days, 
Future Value of Present Sum, Amortization Schedule, Interest Rate- 
Compound Interest, Interest Rate-Installment Loan, Days Between 
Dates, Term of Installment Loan, Present Value of Series of Payments, 
Real Estate Investment Analysis, Nominal-Effective Interest, Internal 
Rate of Return, Future Value, of Regular Deposits, Regular Deposits 
for Future Value, Depreciation (Amount, Rate, Salvage Value, 
Schedule), Bond Present Value, Bond Yield to Maturity, Sale- 
Cost-Margin-Day of Wfeek, Moving ad. 

EDUCATION: Multiplication <& Division, Addition, Subtraction, 
Fraction & Decimal, States & Capitals, States and Order of Entry, 
States and Date of Entry, States and Abbreviations, Inventors and 
Inventions, World Capitals & Countries, Urban Areas and Population, 
Authors & Books, Presidents and Order, States and Largest City, 
Base Numbers. 



GRAPHICS: Front Cover, Wierd, Rat Race, Random Ad, Fireside, 
Left-Right Ad, Blocks, Herring, Launch, Blinker, Snoopy, Snow, Step 
Ad, Step Ad Two, Graphic Words, War Games. 

HOME: Bartender, Nutrition, Conversion, Perpetual Calendar, Base 
Conversion, Calculator, Vacation Check-off List, Telecode, Message 
Board, Night Check-off List, Expense Account, Babysitter, Drunk- 
ometer, Remember, Christmas List, Mileage. 

GAMES: Jumble, Search, Memory Quiz Letters, Sting Ray, Russian 
Roulette, Wheel of Fortune, Towers, Decision, Memory Quiz Numbers, 
Doomsday, Star Trek,™ Sketch, Flipper, Life, Fifteen, Speedy, Count, 
Road Race, Stars, Odd One, Spy Ship, Horse Race, Scissors, Craps, 
Star Blazer, Tiger Shark, Unjumble, Mind Reader, Roach Race, 
Jumble 2, Gypsy. 

The price for the LIBRARY 100 is only $49.50. That's less than 
$.50 per program. Join the thousands of users who are already enjoy- 
ing this exceptional software package. Only from TBS. (We are 
currently working on a Library for the APPLE.) 

TBS has other great software for your TRS-80. CHECKBOOK II, 
INFO SYSTEM, & EXERCISER are general applications. BASIC 
TOOLKIT, SYSTEM DOCTOR & TERMINAL CONTROL are systems 
utilities. BUSINESS MAIL LIST, DATA MANAGER, CHECK 
REGISTER ACCOUNTING SYSTEM & ANALYSIS PAD are strong 
applications for business. TBS also has DISK HEAD CLEANERS 
for TRS-80 and APPLE and GRAN MASTER DISKETTES, the 
best on the market. 

TBS is YOUR COMPANY, and to you we pledge to produce 
quality software at a price you can afford. The above products are 
available NOW at Computer Stores and Associate Radio Shack 
Stores nationwide or directly through us. For more information 
please contact us at the numbers below. 

™ Paramount Pictures, Corporation. 

»^B33 

THE BOTTOM SHELF, INC. 

(404)939-6031 • P Box 49104-K • Atlanta. GA 30359 




t^ Reader Service — see page 227 



Microcomputing January 1980 133 



TRS-80 Printer Interfaces: 
Serial and Parallel Designs 



Save $200 or more by constructing your own interface circuits. 



Rod Hallen 
Road Runner Ranch 
PO Box 73 
Tombstone AZ 85638 



The TRS-80 is a great per- 
sonal computer. I don't 
think that it can be beat in its 
price class. I've had mine for 
several months and I really en- 
joy using it. It is a simple 
machine, yet it is capable of 
quite sophisticated results. 



I have owned one or more 
microcomputers for more than 
two years. I use them for pro- 
gram development and for 
manuscript preparation and 
printing. Since both of these 
tasks require hard-copy facil- 
ities, the first thing I did, after 
buying my TRS-80, was to deter- 
mine the easiest (and cheapest) 
way to interface a printer. 

You might ask, "Is a printer 
really necessary to write pro- 
grams?" Yes, because it is very 
difficult to get a good idea of the 



flow of your program without be- 
ing able to see it all in one piece. 
It is also easier to find errors and 
make corrections. The screen is 
just not large enough to hold all 
of the information required. 

The designers of the TRS-80 
obviously understood the need 
for hard-copy capability since 
Level II BASIC contains the 
statements LPRINT and LLIST, 
both of which output to the 
printer port instead of to the 
screen. The Expansion Interface 
includes a parallel port to feed a 



TO 
TRS-80 




TO 

LINE 
PRINTER 
OR UART 



printer. 

However, therein lies a dilem- 
ma. In order to implement hard 
copy on the TRS-80 as envi- 
sioned by Radio Shack, it is 
necessary to purchase the Ex- 
pansion Interface and a line 
printer. This is an outlay of from 
1300 to 1600 dollars, depending 
where you buy the printer. What 
about those of us who already 
have a printer? 

I have been using the Teletype 
Model 43 KSR for almost a year, 
and I like it. It prints either 10 or 
30 cps, is very quiet, has an 
RS-232 serial interface and has 
been 100 percent reliable. In ad- 
dition, it prints lowercase; the 
Centronics 779 printer does not. 
This is a definite plus! Why 
couldn't I use it for hard copy in- 
stead of the parallel line printer 
that Radio Shack intended? 

The Expansion Interface also 
provides facilities for disk 
drives, more memory and a sec- 
ond cassette recorder. I don't 
plan to add any of these to my 
unit, so I decided to design an in- 
terface to fit directly between 
the expansion port on the back 
of the TRS-80 keyboard unit and 
the Model 43. 



IC 


♦ 5 


GND 


7400 


14 


7 


7404 


14 


7 


7430 


14 


7 


74I00 


24 


7 


74I23 


16 


e 


74 1 25 


14 


7 



Fig. 1. Schematic drawing of the parallel interface for the TRS-80 expansion port. This will drive a Centronics 779 or similar line printer 
directly. Many IC substitutions are possible. IC6 could be a 74121, IC3 a 7402; IC5 could be replaced with two 74175s, and the 74125 with 
an 8T97 or 74367. Most of these changes would require some circuit changes. 

134 Microcomputing January 1980 



My design was successful, as 
you will see, and the total cost 
for a serial RS-232 interface was 
less than $50. If you would like 
to plug a parallel line printer, 
such as the Centronics 779, 
directly into the keyboard ex- 
pansion port, I'll show you how 
to do that for less than $5! 

The Interface 

First let's look at some of the 
requirements that our interface 
must meet. I was unable to ob- 
tain any information from Radio 
Shack on this subject, so what 
follows was learned by my 
studying the Level II print driver 
routine and the Expansion In- 
terface schematic. 

The printer port is addressed 
as a memory location instead of 
as an I/O port. This is called 
"memory-mapped I/O." The 
memory location used is 37E8 
hex (14312 decimal), which is 
configured as both an input and 
an output port. 

The print driver routine first 
reads the input port to see if the 
printer is ready to receive the 
next character. If it is, the char- 
acter is sent to the output port, 
and then input port status is 
read continually until the printer 
is ready for the next character. 
We can't just dump text to the 
printer at microprocessor speed 
because the printer is not able 
to handle characters that fast. 

While it is reading the printer 
input port the processor is also 
checking to see that the printer 
is not out of paper or hasn't 
some other fault. If you attempt 
to LPRINT or LLIST to the printer 
when it has a problem or is out 
of paper, nothing will happen. In 
this case it is up to you to deter- 
mine what the fault is. 

In order to implement a print- 
er interface that will work with 
the TRS-80, you must satisfy the 
following requirements: 

1. Decode memory address 
37E8 hex. 

2. Determine whether the pro- 
cessor desires to read or to 
write. 

3. Gate status information onto 
the data bus for a READ. 

4. Latch ASCII character from 
data bus for a WRITE. 

5. Provide a WRITE strobe to 
UART (serial) or printer (parallel). 



Fig. 1 shows the basic inter- 
face. This will drive a parallel 
printer, such as the Centronics 
779, directly, and it should cost 
less than $5, not including the 
cost of the two connectors re- 
quired, to build. It can also be 
used to drive a UART if you in- 
tend to use a printer that has a 
serial RS-232 interface. I'll get to 
that in a moment. 

First let's look at Fig. 1 and 
see how it satisfies the interface 
requirements listed above. ICs 1 
and 2 are SN7430 8-input NAND 
gates. They are used to decode 
the desired address— in this 
case, 37E8H. I won't go into the 
conversion of numbers from hex 
format to binary format, so 
you'll have to take my word 
that 37E8H is equal to 
0011011111101000B. From left 
to right, as shown in Table 1, 
these 16 binary digits equate to 
the microprocessor address 
lines A15 to A0. 

Since some of the address 
lines will be high and some will 
be low when the desired ad- 
dress (37E8H) appears on the 
address bus, we use inverters to 
give each line the correct sense. 
This means inverting A15, A14, 
A11, A4, A2, A1 and A0. Note 
that these correspond to the 
zeros in Table 1. When all 16 in- 
puts to the 7430s are high 
(binary 1), the output of IC3b at 
pin 6 (address decode) will go 
high. This happens when, and 
only when, the address 37E8H is 
on the address bus. 

We can determine whether 
the processor wants to read or 
write by monitoring the RD and 
WR leads from the keyboard ex- 
pansion port. These are active 
low signals. This means that the 
processor will take RD low when 
it wants to read and WR low 
when it wants to write. 

By NANDing "address de- 
code" from IC3b, pin 6, with 
RD we can generate a "READ 
strobe" at pin 11 of IC3d. NAND- 







r CTf 1*7 TTT$ Wf *? Wl** *" : 

imnmAtflmitii 






. ■ t 









The complete TRS-80 to RS-232 interface. The card on the left is 
the address decoder and parallel port. On the right is the Elec- 
tronic Systems UART and Baud Rate Generator hoard with their 
TTL to RS-232 converter mounted on top of it. Shown to the rear is 
the interconnection assembly. The connector on the left plugs into 
the expansion bus on the back of the TRS-80 keyboard unit, and 
the two interface cards plug into the connectors on the right. The 
transmit and ground leads to the printer connect to two pins on the 
top right-hand connector. 



ing "address decode" with WR 
will give us a "WRITE strobe" at 
pin 8 of IC3c. These two strobes 
correspond to the 37E8 READ 
and 37E8 WRITE leads found on 
the TRS-80 Expansion Interface 
schematic. 

When 37E8 READ goes active 
(low), the Tri-state buffer (IC4) 
will gate status information on- 
to the data bus for the processor 
to read. This includes: "printer 
busy," "out of paper," "unit 
select" and "fault." The first two 
are active low and the last two 
are active high. 

When 37E8 WRITE goes ac- 
tive (low), the octal latch (IC5) 
latches (stores) the ASCII 
character that the processor 
has put on the data bus. This is 
necessary because the charac- 
ter will only be on the data bus 
for a few microseconds or 



so — not long enough for the 
printer to utilize it. The latch will 
hold this character until the next 
one is sent. 

Finally, the one shot (IC6) will 
provide a strobe to the printer 
telling it that the next character 
is ready to be printed. IC6 
lengthens the 37E8 WRITE 
pulse, and it isn't necessary if 
you are going to use a UART. 
Then the output of IC3c, pin 8 
can go directly to the UART. 

At this point, if you are going 
to use the Centronics 779 or an 
equivalent line printer, you can 
jump down to the section on 
construction. However, if you 
are going the RS-232 route as I 
did, read on. 

Serial RS-232 

A serial port handles data 
(8-bit ASCII characters) one bit 



Address bus 
37E8 hex -> 



-> A15 A14 A13 A12 A11 A10 
110 1 



A9 


A8 


A7 


A6 


A5 


A4 


A3 


A2 


A1 


A0 


1 


1 


1 


1 


1 





1 












Table 1. The relationship between the address bus and a binary 16-bit address. Since the 
NAND gates (ICs 1 and 2) of Fig. 1 require a high level (binary 1), address fines that are low 
(binary 0) are inverted before being used. 



Microcomputing January 1980 135 





13 


WR 


37E8H 
PARALLEL 
INTERFACE 
(FIG 1) 






35 


AS 






38 


A6 






36 


A7 


STROBE 








II 


A8 


00 




17 


A9 








4 


AIO 


Dl 




5 


AI2 






6 


AI3 


D2 








34 


A3 


D3 




25 


A0 


1- 




K 
O 

a. 

z 


27 


Al 


D4 


40 


A2 




o 


31 


A4 


05 






V) 

z 


9 


All 


06 




10 


AI4 


a. 

X 




UJ 


7 


AI5 


D7 


O 
ao 


30 


D0 




i 


22 


Dl 


FAULT 






K 


32 


D2 


UNIT SELECT 




26 


03 










18 


D4 


OUT PAPER 




28 


05 






24 


06 


BUSY 








20 


07 


GNO 




15 


RD 








39 


♦ 5 






37 


6ND 






1 







3 5 7 9 



13 15 17 19 21 23 25 27 29 31 33 35 37 39 



TO 

PARALLEL 
PRINTER 
(FIG 3) 
OR TO 
UART 
(FIG .4) 



Fig. 2a. The interconnection wiring between the TRS-80 expan- 
sion port and the parallel interface of Fig. 1. The leads on the right 
side go to the parallel printer of Fig. 3 or to the UART of Fig. 4a. 



at a time as opposed to a par- 
allel port, which passes all eight 
bits at once. Loosely defined, 
the RS-232 standard says that a 
high (or binary 1) should be + 12 
volts and that a low (or binary 0) 
should be - 12 volts. Up to this 
point our signals have all been 
TTL levels in which a high is 
represented by + 5 volts and a 
low by ground. 

In order to implement a serial 
RS-232 port we must take the 
eight bits presented to us on the 
data bus in parallel and send 
them to the printer one bit at a 
time. This includes providing the 
proper timing for the particular 
printer involved. We must also 
change the TTL levels of +5 
volts (binary 1) and volts 
(binary 0) to the RS-232 levels of 
+ 12 volts and -12 volts. 

The first two parts of this task 
are easily taken care of by an IC 
called a universal asynchronous 
receiver/transmitter, or UART. 
There are many different ver- 
sions of the UART available 
from the IC manufacturers; the 
one I used was the AY-5-1013A. 
The UART is a full-duplex device 
and, as its name implies, it will 
receive as well as transmit. In 
this application we will only be 
using the transmitter. 

Construction 

You can build the circuit of 
Fig. 1 in any way that is conve- 
nient. Perfboard or Vectorbord 
can be used, but I prefer to build 



all of my circuits on standard 
44-contact prototype boards. 
The Hobby Board from OK Ma- 
chine and Tool is the one I use. 

The +5 volts required by Fig. 
1 are available from the key- 
board expansion port, but I don't 
know how much current this will 
supply. If the fuse blows or the 
power supply gets too hot, then 
you will have to provide a 
separate source of +5 volts. Us- 
ing the "LS" versions of the 7400 
series ICs involved will cut down 
on the current requirements. 

Fig. 2a shows the intercon- 
nections between the TRS-80 
keyboard expansion port and 
the parallel interface (Fig. 1). 
Fig. 2b is an explanatory draw- 
ing of the manner in which the 
contacts on the expansion port 
are counted. Fig. 3 contains the 
connections between the par- 
allel interface and the Cen- 
tronics 779 or similar line 
printer. 

Two connectors will be re- 
quired. The one that plugs into 
the keyboard expansion port is 
identified in my TRS-80 manual 
as AMP part number 88103-1. 
Unfortunately, my local Radio 
Shack store does not stock 
them. Two different versions are 
available from Applied Inven- 
tion, RD2, RT21, Hillsdale NY 
12529. One is the solder-tail 
type; the other comes with 18 
inches of ribbon cable attached. 

You will also need a connec- 
tor to match the one on your 



2 4 6 8 IO 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 



TRS-80 EXPANSION PORT REAR VIEW 



TO 

PARALLEL 
INTERFACE 
(FIG 2A) 



STROBE 


I 


CENTRONICS 

779 

OR SIMILAR 

LINE 

PRINTER 


Df 


3 


Dl 


5 


D2 


7 


03 


9 


D4 


II 


D5 


13 


D6 


15 


D7 


17 


FAULT 


28 


UNIT SELECT 


25 


OUT PAPER 


23 


BUSY 


21 







Fig. 2b. Rear view of the TRS-80 expansion port from the keyboard 
unit. 



printer. This will depend on the 
type of printer. 

For those of you who want to 
use a printer with an RS-232 in- 
terface, such as the Teletype 
Models 33 or 43, the circuitry be- 
comes a little more compli- 
cated, but it is still well worth 
the trouble if it saves you the 
cost of a new printer. 

Rather than build my own 
UART board I chose to use the 
UART and Baud Rate Generator 
board available from Electronic 
Systems, PO Box 21638, San 
Jose CA 95151, (408) 226-4064. 
Write or call for a copy of their 
catalog, which contains many 
useful computer-related circuit 
kits and etched boards. 

You will find this UART board 
described in my article "Parallel 
Port to RS-232," Kilobaud 
Microcomputing, April 1979, 
p. 62. You can save quite a bit of 
money by purchasing the bare 
board if you already have a 
UART on hand. 

I chose to combine the UART 
board, which is constructed on a 
44-contact card, with a TTL to 
RS-232 converter kit also avail- 
able from Electronic Systems. 
This mating and the modifica- 
tions required are described in 
the above article. I advise any- 
one who is going to tackle this 
project to read it. The parallel-to- 
serial and TTL-to-RS-232 conver- 



NOTE STRAP THE FOLLOWING CONTACTS ON 

THE PRINTER PLUG TO EACH OTHER AND 
TO GND 2,4,6,8,10,12,14,16,18,20,22,24, 
27, 31,33,34. 



Fig. 3. Connections to the Cen- 
tronics 779 or similar line 
printer. The pin numbers shown 
are for the plug that mates to 
the connector on the back of 
the printer. 

sion circuits can be built from 
scratch, but it is much easier 
and quicker when you have ac- 
cess to a PC board with the cir- 
cuit already etched on it. 

Fig. 4a shows the intercon- 
nections between the parallel in- 
terface, the UART board and the 
printer serial port. In this case, 
Fig. 4b should be added to Fig. 
2a to make the interface believe 
that it is connected to the 779 
printer. Put this on the same 
board that Fig. 1 is built on. 

Note that in addition to +5 
volts, we are also calling for 
+ 12 volt and - 12 volt supplies. 
This is to power the UART and to 
provide the RS-232 levels. Do not 



TO 

PARALLEL 
INTERFACE 
(FIG. 2A) 



STROBE 



00 


Y 


Dl 


X 


D2 


W 


D3 


V 


D4 


U 


D5 


T 


06 


S 


D7 


R 


BUSY 


17 


GNO I 



ELECTRONIC 

SYSTEMS 

BAUD RATE 

GENERATOR 

AND UART 

BOARD 

WITH 

TTL TO 

RS-232 

CONVERTER 



v 



DB-25 
CONNECTOR 

TRANS 



In 



22 



GND 



i 7 



10 



110 



150 



M_ 
I2_ 
I3_ 
14 

IS 

lb 



300 



600 



1200 



2400 



T-CLK 



R-CLK 



RS-232 

PRINTER 



BAUD RATE B 
CLOCK INPUTS 
X-CONN AS 
REQUIRED 



♦ 5 +12 GND -12 



Fig. 4a. Connections in and out of the combined UART, baud rate 
generator and TTL-to-RS-232 converter. See the reference in the 
text for more information on this combination. The desired baud 
rate should be connected to the transmit clock (T-CLK). The strap 
shown between 4 and 5 on the RS-232 printer plug is to satisfy an 
internal requirement. 



136 Microcomputing January 1980 



take the + 5 from the keyboard 
to power Fig. 4a. Current re- 
quirements are low, and a sim- 
ple supply will suffice. It must, 
of course, be regulated. 

As mentioned, I built Fig. 1 on 
a 44-contact Hobby Board; the 
UART circuitry is constructed 
on a similar board. Then I 
mounted two 44-contact edge 
connectors above each other on 
a chassis with corner brackets 
as shown in Fig. 5. These con- 
nectors are readily available and 
come in solder-tail and wire- 
wrap types. I prefer the wire- 
wrap type since I am continually 
changing things. 

The cables to the TRS-80 and 
the printer exit to the rear. Since 
there is no need to get at the 
cards once everything is work- 
ing OK, a cover could be built to 
improve the appearance of the 
unit. If a large enough chassis 
were used, the power supply 
could be built inside of it. 

I'm using a minicomputer 
power supply that I picked up at 
an electronics surplus store. 
They also had some surplus 
card cages for the 44-contact 
connectors that would have 
made an ideal mounting as- 
sembly. I'm sorry that I didn't 
pick them up, but I'll be watch- 
ing for some for my next project. 

After everything is wired 
together the options must be 
determined. Note in Fig. 4a the 
contacts identified as baud rate 
and clocks. The baud rate re- 
quired for your printer must be 
connected to the Transmit 
Clock. My Model 43 operates at 
300 baud; therefore, contact 11 
(300 baud) is connected to con- 
tact 15 (Transmit Clock). See 
Fig. 4c for a bottom view of the 
44-contact edge connector that 
the Baud Rate Generator and 
UART board is plugged into. The 



TO FIG 2A < 



FAULT 



UNIT SELECT 



EACH 
5* I/4W 

jW 



-o ♦ 5 



OUT PAPER 



1 



Fig. 4b. This little mod is used 
with Fig. 1 when it is connected 
to a UART. This will properly 
condition fault lines that nor- 
mally go to the line printer. 



baud rate clocks should be ad- 
justed to the correct frequency 
as explained in the above re- 
ferenced article. 

There is also a multiple DIP 
(double in-line package) switch 
on the UART board that must be 
set. Table 2 gives the options 
available. My requirements 
were: S1— ON (input strobe 
negative), S2— not used, S3 
—OFF (even parity), S4— ON 
and S5— OFF (seven bits per 
character), S6— OFF (two stop 
bits) and S7— ON (parity). The 
only settings that you might 
have to change relate to parity. 
If in doubt, leave S7 off and ig- 
nore S3. 

Implementation 

With the parallel interface in- 
stalled between the keyboard 
and a Centronics 779 or equiv- 
alent, all that is required for hard 
copy is to substitute LPRINT 
and LLIST statements for PRINT 
and LIST as necessary. Unfor- 
tunately, at the last minute a 
snag that apparently was going 
to scuttle my intention to use 
the Model 43 appeared. 

For some reason the writers 
of Level II BASIC apparently 
decided not to output a line feed 
after each carriage return. A line 
feed is not required with print- 
ers, such as the Selectric, that 
automatically provide one each 
time a carriage return is re- 
ceived. I don't have access to a 
Centronics 779, but I have to 



BOTTOM VIEW 
44 CONTACT 
EDGE CONNECTOR 



A 


I 


B 


2 


C 


3 


D 


4 


E 


5 


F 


6 


H 


7 


J 


8 


K 


9 


I 


IO 


M 


II 


N 


12 


P 


13 


R 


14 


S 


15 


T 


16 


U 


17 


V 


18 


w 


19 


X 


20 


Y 


21 


z 


22 



Fig. 4c. A bottom view of the 
UART and baud rate generator 
connector showing how the 
contacts are identified. You 
can assign your own contacts 
on the interface board. 



Switch 


Purpose 


Condition 


S1 


Input strobe polarity 


ON=NEG OFF = POS 


S2 


Output strobe polarity 


ON = POS OFF = NEG 


S3 


Parity 


ON = ODD OFF = EVEN 


S4&S5 


Bits per Character 


S4 S5 BITS 
ON ON 5 
OFF ON 6 
ON OFF 7 
OFF OFF 8 


S6 


Stop bits 


ON = 1 OFF = 2 


S7 


Parity 


ON = YES OFF = NO 


Table 2. Options available on the 


Electronic Systems Baud 


Rate Generator and UART board. These are actually features of 


the AY-5-1013A and similar UARTs. 





assume that it incorporates that 
feature. However, neither the 
Model 33 nor 43 does, and it is 
awfully hard to read a program 
listing that is all printed on one 
line. 

I thought I was done for until a 
little study revealed that the ad- 
dress of the print driver routine 
is stored in RAM and not in 
ROM. All that should be required 
is to poke an address into this 
storage location pointing to a 
new print driver residing in high 
memory. This may sound like ex- 
tra work since the print driver 
routine would have to be loaded 
every time the TRS-80 was 
turned on, but it still beats buy- 
ing another printer. 

There are many different 
ways of loading the new print 
driver routine. If you are running 
T-BUG, you can create a "SYS- 
TEM" program on tape and load 
it each time you use the TRS-80. 



44 

CONTACT 
EDGE 
CONNECTORS 



I-I/2" 
BRASS 
CORNER 
BRACKETS 




Fig. 5. One way of mounting 
the two circuit boards de- 
scribed in this article. Many 
other arrangements could be 
worked out. However you do it, 
keep the leads from the TRS-80 
to the interface and from the 
interface to the printer as short 
as possible. 



There are also other assembly- 
language monitors available, 
such as the ESP-1 from Small 
System Software. 

I've written an assembly- 
language monitor in Level II 
BASIC that is described in 
"Monitor," Kilobaud Micro- 
computing, June, 1979, p. 26. 
You can also write a straight 
BASIC program to poke the 
necessary information into 
memory. 

Program A is the listing of the 
new print driver routine that I 
have been referring to. It will 
pass each character to the print- 
er port whenever it is called, and 
it will add a line feed (0AH) each 
time that it detects a carriage 
return (0DH). 

The print driver starting ad- 
dress is stored at locations 
4026H and 4027H. These loca- 
tions normally contain 058DH, 
the address of the Level II print 
driver in ROM. 4026H and 4027H 
must be changed to point to the 
address of the new print driver, 
7FE0H. 

Program B does the same 
thing that Program A does, ex- 
cept that an assembly-language 
monitor is not needed. Each 
time Program B is run it will 
change 4026H and 4027H and 
load the print driver into memory 
starting at 7FE0H. 

Now let's look at the software 
steps necessary to make 
everything operational. When 
you turn the TRS-80 on it asks 
you, "MEMORY SIZE?" You type 
32734 to reserve some high 
memory for the new print driver. 

If you are not going to use an 
assembly-language monitor, 
you can skip this paragraph. 
Load your monitor, enter Pro- 
gram A at 7FE0H, E0H at 4026H, 



Microcomputing January 1980 137 



ADDRESS 


hACHINE 




CODE 


7FE0 


3A 


E3 37 


7FE3 


E6 


F0 


7FE5 


FE 


30 


7FE7 


C2 


E0 ?F 


7FEA 


79 




7FED 


FE 


0D 


7FED 


C2 


F8 7F 


7FF0 


32 


E8 37 


7FF3 


0E 


0A 


7FF5 


C3 


Ef 7F 


7FF8 


32 


E8 37 


7FFD 


C9 





LADEL 



LOOP 



OUT 



MNEMONICS 


COMMENTS 


LDA PORT 


READ STATUS 


ANI F0H 


MASK LOUER HALF 


CPI 30H 


IS PRINTER READY? 


JNZ LOOP 


IF NOT, TRY AGAIN 


HOV A,C 


GET CHARACTER 


CPI CR 


IS IT CARRIAGE RETURN? 


JNZ OUT 


IF NOT, GOTO OUT 


STA PORT 


URITE CHARACTER 


HVIC LF 


LOAD LINEFEED 


JMP LOOP 


CHECK STATUS 


STA PORT 


URITE CHARACTER 


RET 


RETURN TO BASIC 



Program A. The print driver routine that is required if your 
printer does not insert a line feed after each carriage return it 
receives. This was written on an 8080 assembler, but the TRS-80 
doesn 1 know any better and will run it anyhow. Although this is 
for the Level II 16K TRS-80, it will work in the 4K machine by 
changing all of the 7Fs to 4F. Your response to MEMORY SIZE? 
would then be 20447. 



10 REM *PRINT DRIVER ROUTINE* 

20 REM *BY ROD HALLEN TOMBSTONE, AZ* 

30 REM *16 JANUARY 1979* 

40 POKE 16422,224 

50 POKE 16423,127 

60 FOR 1=1 TO 28 

70 READ D 

80 POKE 32735+1, D 

90 NEXT I 

100 DATA 58,232,55,230,240,254,48 

110 DATA 194,224,127,121,254,13,194 

120 DATA 248,127,50,232,55,14,10 

130 DATA 195,224,127,50,232,55,201 

140 END 

Program B. This is Program A rewritten in Level II BASIC. Run- 
ning it will POKE the start address of the new print driver rou- 
tine at 4026H and 4027H. Note that the address is stored least 
significant byte first, i.e., EOH in 4026H. It will then POKE the 
new print driver starting at 7FE0H. Write this one for 4K by 
changing 127 to 79 each time it appears in the data statements. 



7FH at 4027H, and make a tape 
for later use. 

Program B can be loaded 
from the keyboard like any other 
BASIC program, and a "CSAVE" 
will give you a tape copy. 

From now on, all you have to 
do is load the print driver from 
tape. If it is the Program B ver- 
sion, you will also have to run it; 
then it can be deleted with a 
NEW. 

This is another of those cases 
where it sounds more compli- 



cated than it is. Try it and see. 

Conclusion 

Once I discovered that I was 
going to have to write my own 
print driver routine I was tempt- 
ed to abandon the memory- 
mapped I/O port and go to 
straight I/O addressing. This 
would have reduced the number 
of ICs in the interface by two or 
three since I'd only have to 
decode eight bits instead of 16, 
and I'd pick an I/O port, such as 



FDH, that would require mini- 
mum address line inversion. 
Since the interface was already 
built by then, I decided to leave it 
alone. 

I could also have reduced the 
number of inverters required by 
using NOR gates instead of 
NAND gates for IC3. Also, I 
could have reduced the +5 re- 
quirements by using the 74LS 
series of ICs. However, to ex- 
pedite the project, I used the 
chips I had on hand. 

A while ago I interfaced an 



RS-232-EBCD-coded Selectric to 
my Sol using this same circuit. 
I no longer have the Selectric, 
but I'll bet it wouldn't take much 
to get it working with the TRS- 
80. 

There is no good substitute 
for hard copy. I hope the infor- 
mation that I have provided 
above and in the referenced arti- 
cles will help you interface a 
printer to your TRS-80. I'll be 
glad to answer any questions 
that are accompanied by a self- 
addressed stamped envelope. ■ 





<§x$xt> 

Full ASCII Professional 
Keyboard Kit, Model 756 

Model 75b Keyboard Kit 
Model 701 Plastic Enclosure 
Model 702 Steel Enclosure 
Model 710 Numeric Keypad 
2376 Keyboard Encoder IC 
1 5 pin Dual edge connector* 
•(FREE with ALL keyboard orders) 



INTEGRATED CIRCUITS: 

SN76477N Complex Sound Generator 
TL489C Analog Level Detector 
LM317T Adj Volt Reg 15 amp 
ICM7555 Low Pwr CMOS Timer 
LF351N High Speed JFET Op Amp 
NE565 Phase Locked Loop 

FREE: CA3 I 40 with orders of $5 00 or more 
Please include $1 00 for postage and handling 

NY S. Residents Add 4% Sales Tax 
Send to: Key Electronics 
P.O. Box 3506 
Schenectady, NY 12303 



$6495 


14 95 


2995 


995 


995 


1.95 


$295 


1 25 


275 


1 25 


75 


1 10 



^K14 



I 



c-io SHORT 

CASSETTES 



Al 



MK ROM TTI l <> 7/7 Paloauu Sunw.*. < .1 <MO*> 



50 FT. 



Qty. Price 

1 $1.00 

10 $0.75 

50 $0.65 



Premium tape and cassettes acclaimed 
by thousands of repeat order microcom- 
puter users. Price includes labels, cas- 
sette box and shipping in U.S.A. VISA 
and M/C orders accepted. California 
residents add sales tax. Phone (408) 
735-8832. 



MICROSETTE CO. 
777 Palomar Avenue 
Sunnyvale, CA 94086 



^M67 



SURPLUS ELECTRONICS 



ASCII 



ASCII 



IBM SELECTRIC 

BASED I/O TERMINAL 

WITH ASCII CONVERSION 

INSTALLED $645.00 

e Tape Drives e Cable 

e Cassette Drives e Wire 

e Power Supplies 12V15A, 12V25A, 

5V35A Others, e Displays 

e Cabinets e XFMRS e Heat 

Sinks e Printers e Components 

Many other items. SEND $1.00 FOR 

CATALOG. REFUNDABLE FIRST ORDER 
WORLDWIDE ELECT. INC. ^W16 
130 Northeastern Blvd. 
Nashua, NH 03060 

Phone orders accepted using 

VISA or Master Charge 

call 603-889-7661 



138 Microcomputing January 1980 



[PET 8. CBM 

SOFTWARE BREAKTHROUGH 

MAIL LIST 

Disk-based, updates & sorts by all fields. Specify 16K or 

32K. 

S50.00 

BOWLING LEAGUE SECRETARY 

Disk-based: generates recap & individual average record 
sheet at command. For 32K. 
S 1 00.00 

CBM WORD PROCESSOR 

Disk and ROM-based full screen editing & scrolling. Written 
In 6502 machine language. For 16K or 32K. 
S 1 00.00 

We also hove a disk-based GENERAL LEDGER. ACCOUNTS 
PAYABLE. ACCOUNTS RECEIVABLE. PAYROLL & INVENTORY 
for 32K PET or COM. 

Each module- * 1 20.00 

Complete 7 Modules $600.00 

Complete system with 32K computer, 2040 dual disk drive. 
2022 tractor feed printer 6 GL. A/P. A/R, Payroll 6 INV. for 
I.. S4250.00 



Write for our free catalog or ask your dealer to contact > 



COMPUTER 
ONCEPTS 

.BUSINESS SYSTEM CONSULTANT 



ELF II by Netronics 




617 W. 16th St. 

Cheyenne, Wy 82001 

(307)632-9132 



»^C167 



^A111 



alphaneiics 

TRS-80©TAPE DIGITIZER 



1/ SO 4t All iHI I HI I HOI I 
< XSSI // HI Mill I 
ll\ Oil SUIK HhOH 
%44.94 



Lsed by the 
U.S. Coast 
Guard and 
I ..S. \a\y 



•himis*us < »ssf I it LOADING 

AMXOPtlNf. PHOHIfMS HIS 

■•S^SHM- I APfV 

• MAKI-s l\rt PK<K.KAM LOAMNG 

PHWiKtin MMMBI1 <>i 

Mil I Ml ( IIMHIH SI I MM.' 

•MOHaHCTCmiM *ni I *pi 

IHI. II MM Wlllllll I ISIM.KIMPI IIK 

iiK.niyn) in tXM i KtPiK * iii m»i. 

■SMI WHIll RIMIIMM. Ill M. MUSI 

\mi uimit minor NOW is 

• IHI1 Mil It ( ASSITH 1(1 llll l*Pl 
Dlt.lll/IK (Ml IHII Mil H < (IMPl 1 1 It 

rm txAci dh.ihi nmraw na 

IRS Ml t, AM 1(1 llll I API WHlll 
MAKIX. A(OP> Al IHI SAMl 1IMI' 
• I III I API 1111,1 1 l/l R IS ( (IMPl I 1 1 II 
((IMP A I ABU W1IH I 1MI I AM) II 




• i.oonnu i im>i< tioHi iwm 

/ \ Mil I SSI I IIS(. I Ol I sn I (>\ I HOI 

FOR GOOD HtOGKAM INODATA 10 u»\ 

i mo nsii I 

■i.i i hiooi >ot h i \i'i hi (.s ion II 
iohom > w<*.v< /•*»«./ IGI /' <//' 
<.i tn IN71 I n ioii\ VOi k TAM 

I'HOHI I MS OH HI It H\ l\ III l> l » IQK 
Mill HI It N/>.* 

l707)B»7-7!)7 

l( I l> I / I 1/ I'll I *J IK S I' O HO\ tt7, 
IOHI STUIII. ( II IIOHSI1 VWIH 



I "" ' r 1 



CUDDLY SOFTWARE 

Unbreakable Systems/Support Software 
*i\yi -iiTi'f ^©02 system. 



CS0S Series (Operating System) — aids development and 
modification of user programs with software tools, like 
Add Delete Byte, which also expand/contract the remainder 
of the memory page. User Programs also interface via Std. 
Coll/Ret. for video routines, I/O drivers, etc. 1861 alpha- 
numeric output vio Screen Driver (10 lines, ave. 17 char/line, 
auto-scroll). User graphics also made easy. 

CSTP Series (Trace Program) - 1802 CPU in softwore! 
Displays internal status as it simulates user programs for 
debugging, improvement, or learning 1 802 operation. A must 
for every programmer! Intervene to alter simulation dynami- 
cally, by changing parameters, overriding program branch 
decisions, etc. Memory protected! CSTP cannot be bombed 
by the worst test program or user key-in errors! Needs 2-5K 
RAM, plus user program arma. 

COMING SOON: Assembler; Text Editor; Text Formatter; 
I/O for 1802 PILOT! 

TAILORED to your system! Write for details and low prices. 



CUDDLY SOFTWARE 



Dept. K37 

98 THDRNDALE TERRACE 
ROCHESTER, NEW YORK 14611 



,^C123 




RCA 



Featuring " — -» 

1802 

COSMACCPU 
Own a powerful home computer system, starting for |ust $99.95-a price that 
gets you up and running the very first night with your own TV for a video 
display $99.95 ELF II includes RCA 1802 8 bit microprocessor addressable to 64k 
bytes with DMA, interrupt, 16 registers. ALU, 256 byte RAM. full hei keyboard, 
two digit hex output display, stable crystal clock for timing purposes, RCA 1861 
video IC to display your programs on any video monitor or TV screen and 5 slot 
plug in expansion bus Hess connectors) to expand ELF II into a giant! 

ELF II Explodes Into A Giant! 

Master ELF lis $99 95 capabilities, then expand with GIANT BOARD 
KLUGE BOARD 4k RAM BOARDS TINY BASIC ASCII KEYBOARD 
LIGHT PEN ELF BUG MONITOR COLOR GRAPHICS & MUSIC SYSTEM 
TEXT EDITOR ASSEMBLER DISASSEMBLER VIDEO DISPLAY BOARD 
and. another great reason for getting your ELF now- 

BREAKTHROUGH! 

Netronics proudly announced the release of 
the first 1802 FULL BASIC, written by L. 
Sandlin, with a hardware floating poirt RPN 
math package (requires 8k RAM plus ASCII and 
video display boards), $79.95 plus $2 p&h. Also 
available for RCA VIP and other 1802 systems 
(send for details)! 

Master This Computer In A Flash! 

Regardless of how minimal your computer backgreund is now, you can learn 
to program an ELF II in almost no time at all. Our Short Course On Micropro 
cessor b Computer Programming- written in non technical language -guides you 
through each of the RCA COSMAC 1802s capabilities, so you'll understand 
everything ELF II can do and how to get ELF II to do it! Don't worry if you've 
been stumped by computer books before The Short Course represents a major 
advance in literary clarity in the computer field. You don't have to be a computer 
engineer in order to understand it Keyed to ELF II, it's loaded with "hands on " 
illustrations When you're finished with the Short Course, neither ELF II nor the 
RCA 1802 will hold any mysteries for you. 

In fact, not only will you now be able to use a personal computer creatively, 
you'll also be able to read magazines such as BYTE INTERFACE AGE POPU 
LAR ELECTRONICS and PERSONAL COMPUTING and fully understand the 
articles. And, you'll understand how to expand ELF II to give you the exact 
capabilities you need! 

If you work with large computers, ELF II and the Short Course will help you 
understand what they're doing 

Get Started For Just $99.95, Complete! 

$99 95 ELF II includes all the hardware and software you need to start writing 
and running programs at home, displaying »;deo graphics on your TV screen and 
designing circuits using a microprocessor -the very first night-even if you've 
never used a computer before 

ELF II connects directly to the video input of your TV set, without any addi 
tional hardware. Or, with an $8.95 RF modulator (see coupon below), you can 
connect ELF II to your TV's antenna terminals instead. 

ELF II has been designed to play all the video games you want, including a 
fascinating new target/missile gun game that was developed specifically for ELF 
II. But games are only the icing on the cake The real value of ELF II is that it 
gives you a chance to write machine language programs-and machine language 
is the fundamental language of all computers. Of course, machine language i$ 
only a starting point. You can also program ELF II with assembly language and 
tiny BASIC But ELF lis machine language capability gives you a chance to 
develop a working knowledge of computers that you can't get from running only 



Write and run programs- the 
very first night -even if you've 
never used a computer before! 

You re up and running with video graphics for just $99 95 — 
then use low cost add-ons to create your own personal system 
that rivals home computers sold for 5-times ELF lis low price! 

pre recorded tape cassettes. 

ELF II Gives You The Power To Make Things Happen! 

Expanded, ELF II can give you more power to make things happen in the real 
world than heavily advertised home computers that sell for a lot more money 
Thanks to an ongoing committment to develop the RCA 1802 for home computer 
use, the ELF II products-being introduced by Netronics-keep you right on the 
outer fringe of today's small computer technology. It's a perfect computer for 
engineering, business, industrial, scientific and personal applications. 

Plug in the GIANT BOARD to record and play back programs, edit and 
debug programs, communicate with remote devices and make things happen in 
the outside world Add Kluge (prototyping) Board and you can use ELF II to 
solve special problems such as operating a complex alarm system or controlling 
a printing press Add 4k RAM Boards to write longer programs, store more 
information and solve more sophisticated problems. 

ELF II add ons already include the ELF II Light Pan and the amazing ELF BUG 
Monitor -two extremely recent breakthroughs that have not yet been duplicated 
by any other manufacturer 

The ELF BUG Monitor lets you debug programs with lightening speed because 
the key to debugging is to know what's inside the registers of the microproces 
sor And. with the ELF BUG Monitor, instead of single stepping through your 
programs, you can now display the entire contents of the registers on your TV 
screen You find out immediately what's going on and can make any necessary 
changes 

The incredible ELF II Light Pen lets you write or draw anything you want on a 
TV screen with just a wave of the "magic wand." Netronics has also introduced 
the ELF II Color Graphics b Music System-more breakthroughs that ELF II 
owners wete the first to enioyl 
ELF II Tiny BASIC 

Ultimately, ELF II understands only machine language -the fundamental coding 
required by all computers. But, to simplify your relationship with ELF II. we've 
introduced an ELF II Tiny BASIC that makes communicating with ELF II a 
breeze 

Now Available! Text Editor, Assembler, 
Disassembler And A New Video Display Board! 

The Text Editor gives you word processing ability and the ability to edit 
programs or text while it is displayed on your video monitor Lines and charac 
ters may be quickly inserted, deleted ar changed Add a printer and ELF II can 
type letters for you error free-plus print names and addresses from your 
mailing list' 

ELF lis Assembler translates assembly language programs into hexidecimal 
machine code for ELF II use. The Assembler features mnemonic abbreviations 
rather than numerics so that the instructions on your programs are easier to 
read - this is a big help in catching errors 

ELF lis Disassembler takes machine code programs and produces assembly 
language source listings. This helps you understand the programs you are 
working with and improve them when required 

The new ELF II Video Display Board lets you generate a sharp, professional 
32 or 64 character by 16 line upper and lower case display on your TV screen or 
video monitor-dramatically improving your unexpanded $99 95 ELF II When you 
get into longer programs, the Video Display Board is a real blessing! 

F Now Available! 

D XI) DA Board Kit includes 1 channel (expandable to 




Netronics R&D Ltd., Dept K-1 

333 Litchfield Road, New Milford, CT 06776 

Yes! I want my own computer! Please rush me— 



4) D-A, A-D converters, $39.95 plus $2 postage & hand- 
ling. . 

□ PILOT Language— A new text-oriented language that 
allows you to write educational programs on ELF II with 
speed and ease! Write programs for games .. unscram- 
bling sentences. . spelling drills. .."fill in the missing 
word" tests, etc.! PILOT is a must for any ELF II owner 
with children. PILOT Language on cassette tape, only 
$19.95 postpaid! 

D Game Package on cassette tape (requires 4k RAM), 
$9.95 plus $2 postage & handling. 
Clip Here and Attach to Your Order Below! ^^^ 



PHONE ORDERS ACCEPTED! 
Call (203) 354-9375 



□ RCA COSMAC ELF II 
kit at $99 95 plus $3 postage and 
handling (requires 6 3 to 8 volt AC power 
supplyl 
■ iwer Supply (required) $4 9b postpaid 
A 180? User s Manual $'> postpaid 

lorn Prttman Short Course On Microprocessor & Computer 

Programming leaches you |usl about everything thefe is to know 

HF ii or any RCA 180? computer Written in non technical 

ALSO AVAILABLE FOR ELF II 

26 variables A Z LET IF/ THEN INPUT PRINT GOTO 
GO SUB RETURN END REM CLEAR LIST RUN 



language it s a learning breakthrough tor engineers and laymen 
alike $5 postpaid 

□ Deluxe Metal Cabinet with plexiglas dust cover tor ELF ll 
$29 95 plus $2 50 p&h 

□ I am also enclosing payment (including postage & handling) tor 
the items checked below' 

D I want my ELF II wired and tested with power supply RCA 
1802 User s Manual and Short Course— all tor |ust JU9 95 plus 
$3 p&h 



Total Enclosed 5 
(Conn res add tax) 

CHARGE IT! Exp Date 

□ Visa □ Master Charge 

(Bank § ) 

Account § 



GIANT BOARD™ M with cassette I/O RS 232 

rv I/O 8 bit P I/O decoders lor 14 separate I/O 
instructions and a system monitor 'editor $39 95 plus 
$?p&h 

Kluge i Prototype i Board accepts up to 36 lC s 
$17 00 plus $1 p&h 

4k Static RAM kit Addressable to any 4k page lo 
II $89 95 plus $3 p&h 

Gold plated 86-pin connectors lone required tor each 
plug m boa'd) $5 70ea postpaid 

Expansion Power Supply 'equired when adding 4k 
RAMi $34 95 plus $? p&h 

Professional ASCII Keyboard kit with 128 ASCII 
upper /lower case set 96 printable characters onboard 
requiator panly logic selection and choice ot 4 hand 

king signals to male with almost any computer 
$64 95 plus $? p&h 

Deluxe metal cabinet tor ASCII Keyboard $19 95 
plus $? 50 p&h 

D Video Display Board kit lets you generate a sharp 
protessional 3? or 64 character by 16 line upper and 
lower case display on your tv screen or video monitor— 
dramatically improving your unexpanded $99 95 ELF II 
^^^ his inside ASCII Keyboard cabinet ) $89 95 
■ilj^fe. plus $? p&h 
l^fc^ ELF II Tiny BASIC on cassette tape Com 

ItAl 



PLOT PEEK POKE Comes tully documented and m 
eludes alphanumeric generator required lo display 
alphanumeric characters directly on your tv screen with 
out additional hardware Also plays tick tack toe plus a 
drawing game that uses ELF II s hex keyboard as a |oy 
stick 4k memory required $14 95 postpaid 

□ Tom Pittman s Short Course on Tiny Basic lor ELF II 
$5 postpaid 

D ELF-BUG™ Oetuxe System Monitor on cassette 
tape Allows displaying the contents ot all registers on 
your tv at any pom! in your program Also displays 24 
bytes ol memory with lull addresses blinking cursor 
and auto scrolling A must lor the serious programmer' 
$14 95 postpaid 

□ Text Editor on cassette tape gives you the ability to 
insert delete or edit lines and words irom your programs 
while ihey are displayed on your video monitor (Add 
printer and you can use El F. II lo type error tree letters 
plus insert names and addresses Irom your mailing list ) 
$19 95 postpaid 

D Assembler on cassette tape translates assembly 
language programs into hexidecimal machine code tor 
ELF ll use Mnemonic abbreviations tor instructions 
(rather than numerics) make programs easier to read 
and help prevent errors $19 95 postpaid 



programs and produces assembly language source iisl 
mgs to help you understand and improve your programs 
$19 95 on cassette tape 

SAVE $9 90 Text Editor Assembler & Disassembler 
purchased together only $49 95' (Require Video Dis 
play Board plus 4k memory ) 

□ ELF II Light Pen. assembled & tested $7 95 plus $1 
p&h 

D ELF II Color Graphics & Musk System Board kit 
$49 95 plus $2 p&h 

□ ELF ll connects directly lo the video input ol yo'ur fv 
set without additional hardware To conned ELF ll to 
your antenna terminals instead order RF Modulator 
$8 95 postpaid 

Coming Soon A D DA Converter Controller Board 
and more' 

Print 

Name 

Address 



City 
Slate 



Zip 



CALL TOLL FREE: 800 243 7428 i 

mands include SAVE 10AD ± x - o [3 Disassembler on cassette lape lakes machine code DEALER INQUIRIES INVITED ^_ 



iS Reader Service— see page 227 



Microcomputing January 1980 139 



The OSI Challenger 1P MF 



Just starting microcomputing? You might try this minifloppy system from Ohio Scientific. 



Charles Curley 
6061 Lime Ave. 
Long Beach CA 90805 



The OSI Challenger 1P MF 
(minifloppy) is an excellent 
starter system for the beginner 
home computerist who wishes 
to get into computing with a 
maximum of ease but a mini- 
mum of expense. If the beginner 
wishes to expand, he can do so 
with no problems, but the unit is 
almost stand-alone as it comes. 
With one exception, the docu- 
mentation is excellent, and OSI 
promises to provide user sup- 
port for years to come. 

Ohio Scientific has been 
advertising their new C1 P MF as 
the first minifloppy system 
available for under $1K. Strictly 
speaking, it is. However, a user 
will need one or two more items 
in order to use the system: a TV 
or monitor and perhaps a TV sig- 
nal generator. 



Due to FCC regulations, a 
computer manufacturer cannot 
sell a computer that you can just 
hook up to your TV, so you have 
three options: (1) buy a monitor 
and take the intermediate fre- 
quency signal the computer pro- 
duces and feed it to the monitor; 
(2) modify your present TV for 
direct video signal injection (i.e., 
allow it to also function as a 
monitor); or (3) buy a TV signal 
generator to feed the com- 
puter's signal into your TV. 

In any case, the additional ex- 
pense will run $20 to $130, 
depending on which way you go 
and how much quality you insist 
on. Still, $1100 is impressive for 
a minifloppy system. 

This is definitely a bare-bones 
system. Peripherals such as an 
extensive monitor or color 
graphics are available as extras 
only. Considering that the prop- 
er customer for the Challenger 
1P MF is the newcomer to per- 
sonal computing, this is not a 
serious objection. Indeed, you 
can say that it gives the 




The C1P MF disk-based computer. 



customer something to look for- 
ward to. 

This machine is clearly aimed 
at the beginner who wishes to 
enter personal computing as 
painlessly as possible. One 
could spend much less and buy, 
say, a KIM. Then you could pro- 
gram in assembly language and 
hand assemble. Or you could 
spend an amount comparable to 
the cost of the C1P MF and buy, 
say, a PET or a TRS-80. In either 
case, you would still have to use 
a cassette for bulk storage, with 
all the hassles that cassettes 
imply. A minifloppy drive for the 
PET or TRS-80 would cost $400 
or so, an amount the C1P MF 
owner could put to other uses. 

Software 

In the bare-bones configura- 
tion of the C1P MF, the speed 
and convenience of the mini- 
floppy disk is the main selling 
point of the system. The user is 
provided with a small DOS (disk 
operating system), the Pico 
DOS. With no memory expan- 
sion beyond the initial 12K RAM, 
the DOS supports two com- 
mands: LOAD X and SAVE X, 
where X is a digit from one to 
eight. X defines the storage area 
on the disk from which data is to 
be loaded or to which it is to be 
saved. 

The addition of 8K more RAM 
(OSI list, $138) will allow the use 
of a much more extensive DOS, 
Ohio Scientific's OS-65D ($50). 
This DOS supports a much more 
extensive set of commands. It 
allows a file structure for pro- 
grams. This means that a pro- 



gram can input from or write to a 
file on disk (e.g., a word pro- 
cessor that would rapidly fill up 
the available RAM can put its 
output directly onto disk, where 
it has a lot more room). The 
enlarged DOS supports six char- 
acter names for files, rename 
capabilities and other features. 

The BASIC provided in the 
bare-bones machine is a Micro- 
soft BASIC occupying 8K of 
ROM. It is 6V2 digits in precision, 
has string functions, trig func- 
tions and full scientific notation, 
among other features. A number 
of these features are not found 
on other beginner's BASICS. 

The OS-65D DOS supports a 
9 1 /2 digit BASIC, which is slower 
than the ROM BASIC but more 
precise. This precision is 
suitable for scientific or busi- 
ness applications. This BASIC 
occupies 12K of RAM, and the 
user can software-select which 
BASIC he wishes to use. 

As I mentioned, OSI does not 
have color graphics for the 
Challenger series. They expect 
to provide it as an option in the 
future. The screen resolution is 
256 by 256, which divides into 32 
lines of 32 characters each. 
However, the mechanics of tele- 
visions may restrict you to 24 
lines by 24 characters. 

OSI software is geared to this 
limitation. The characters them- 
selves are eight dots by eight 
and include all standard ASCII 
characters. In addition, there 
are 160 special characters in 
ROM: gaming elements, graphic 
elements and others. Any char- 
acter can be invoked simply by 



140 Microcomputing January 1980 



SCRIPTION APHdCABION PORM 



SUBSCRIPTION FEE per year: $15 US (half price); 

$17 Canadian currency; $23 foreign (one year only) — must be 

US funds drawn on a US bank. 
Make checks to: 

Kilobaud MICROCOMPUTING™ 

POB 997, Farmingdale NY 11737 

D Check D Am Express D Master-charge D Visa 
Account # .Expires 



Name 



Street 



City 



State 



Country 



Signature 



501 H44 



BUSINESS REPLY CARD 

FIRST CLASS PERMIT NO 17 PETERBOROUGH NH 03458 



POSTAGE WILL BE PAID BY ADDRESSEE 



kilobaud 



MICROCOMPUTING 

Subscription Department • Box 997 
Farmingdale NY 11 737 



NO POSTAGE 

NECESSARY 

IF MAILED 

IN THE 

UNITED STATES 



POKEing the appropriate 
memory location with its 
number. A full catalog of the 
symbols available with their 
numbers in decimal (for use with 
BASIC) and hex (for use with 
machine code) is included with 
the manual. 

The keyboard is totally soft- 
ware controlled. This gives the 
ambitious programmer much 
greater flexibility than with a 
hardware-controlled keyboard. 
For one thing, it allows the 
detection of up to eight 
simultaneous key depressions. 
One application of this facility 
might be to program eight keys 
into two pseudo-joystick 
arrangements. The auto-repeat 
feature of the keyboard soft- 
ware is also useful. 

This flexibility also allows 
multiple applications of the 
keys, which are not immediately 
apparent. For example, in 
BASIC mode, a /SHIFT/ o 
deletes the last character, and a 
/SHIFT/ p deletes the current 
line. These two functions great- 
ly facilitate program and text 
editing. 

One function bodes well for 
the use of the C1P MF as a ter- 
minal. The /SHIFT/ o function 
appears on the display by insert- 
ing a / (ASCII 2F), rather than 
removing the offending 
character. With the cost of 
modems coming down, private 
phone systems and micro- 
oriented data networks in the 



offing, many home computers 
will be used as terminals as well 
as stand-alone systems. OSI 
designed the C1 P MF to be used 
as a terminal as well as a stand- 
alone, so adding this function 
will be easy. 

Documentation 

Contrary to OSI's reputation 
for bad or nonexistent docu- 
mentation, I found the C1P MF 
documentation to be quite 
good. I quickly found whatever 
information I needed to use the 
machine. The beginning BASIC 
programmer will need a good 
book on the system, but this is 
true of any starter system. Any- 
one who wishes to program in 
assembly language or machine 
language is similarly encour- 
aged to have a good book on 
6502 programming handy. The 
manual does have a number of 
BASIC demonstrator programs 
that the user can enter and 
modify for the learning ex- 
perience he will gain. 

A source listing of the BASIC 
was noticeably missing from the 
documentation. This is a result 
of having Microsoft write the 
BASIC; a standard part of their 
contract is that no source listing 
can be released by the manufac- 
turer. Fortunately for the typical 
user of the C1 P MF, this is not a 
serious objection. 

Options 

A fully expanded system 




The C1P, the cassette version of the C1P MF. 



could include: 32K RAM, dual 
minifloppies, a cassette 
recorder, a printer, a modem and 
a number of other peripheral 
boards. The user can buy ready- 
made peripherals or build his 
own. 

The user who has little or no 
interest in programming for 
himself can purchase ready-to- 
run software from OSI. Several 
game disks, personal or 
business disks and education 
disks are already available from 
OSI, with each disk containing 
up to eight programs. As far as I 
know, there are no other 
sources for software, but this 
should change as more units are 
sold. 

The user who wants to buy a 
cassette machine now and ex- 
pand up to a disk system later 
should consider the C1P, the 
cassette version of the C1P MF. 



With only 4K of RAM and sans 
cassette recorder, the unit is 
otherwise identical to the C1P 
MF and lists for $349. A mini- 
floppy ($450), 8K of RAM ($138) 
and some diskettes ($8 each) 
complete the conversion. 

About the only problem I had 
reviewing the Challenger was 
finding one! I called various 
dealers in my area (southern 
California) as well as Ohio 
Scientific. I finally found one at 
Anaheim Computer and Video, 
who were most cooperative. If 
you are in southern California 
and wish to see a machine, give 
them a call (714/995-0224). 
Otherwise, call or write Ohio 
Scientific (1333 S. Chillicothe 
Rd, Aurora OH 44202; 
216/562-3101) or OSI West 
(15461 Chemical Lane, Hunt- 
ington Beach CA 92649; 
714/891-2457). ■ 



TRS-80 NEEDS 
FILLED 

|TM trs-80 is a trademark of Radio Shack, a division of Tandy Corp. 

•Disk drives — plug and run 
Shugart 35 or fWPl 40 track @ Ss\9 «k MActopolls 77 
track @ $570 4-drive cable @ $34 P. P. -5 (bx of 1 0) 
disks @ $27.50 P P -In hrd. case $31 P.P. 

•Printers— Harris Selectrlc typewriter (refurbished) ft. 
cables «V TRS232 @ $790— new Centronics— 779 
tractor @ $950 & CENT. 7 30 @ $820— cable for $34 
P.P. 

•Professional business software — mail list «V Library 

100 @ $75— letter secretary or job cost <g> $240 

ea. — interact inventory control with B.O.M. @ $299 

Osborne Interact A/R. A/P. ft. G/L @ $350— P/R @ 

$125— All P.P. 

•Power drops ft. outages? System boot out? Lose data? 
— Get Mayday UPS (uninterruptible power supply) 
from $195 — write 



'MA. residents, add 5% tax** P.P. means postpaid 
cont. U.S.A.. All else FOB. Tewksbury* * M/C. VISA, 
or check. 

OMNITEK SYSTEMS 

»^018 



24 Marcia Jean Dr., Dept. 
Tewksbury MA 01876 
i Tel. 617-851-3156 



M 




TRS-80 



SOFTWARE 



■w 



Send for Free Softer* Info Pecket. 
• D-Diak System Only • TD Tape or Disk Laval II • 

Math/ Stat Pac. T ° $39.95 

7 Programs i Linear, multiple, polynomial, geometrical, 
exponential regression analyses. Simultaneous equations, 
Bargraph with auto axis. Plot any polynomial over any 
range (Reduce or Enlarge) with auto axis. 

DISK . $14.95 

The HOW TQ rudements of your Disk System. Interactive 
with lots of dynamic examples. Helps a beginner use 
the disk system. 

Hangman/ HangfUe . T . D . $19.95 

2 Progremst educational. Create your own dynemic 
word files. User option multiple clues & Subjects 
with graphics. Really FUN. 

Secret Words- Game ! D . $17.95 

3 Programsi Educational & Tun & Mind boggling. Guess 
a 2,3,4,5 letter word. Review & status options. 3 
Versions i easiest gives lots of clues. Hardest no 
clues. 

All progrsms supplied on TAPE or DATA DISKETTE 
Indicate your preference end RAM size. 



V/SA' 



Bluebird's Inc. 




1441 Greenview Ave. 
East Lansing. Mi. 4-8823 ^ B50 

Michigan rasldenta add *% sales tax. 




TRS-80 



SOFTWARE 



•w 



5#nd far FrGG Software Info Packet. 
• Disk System Only • TD-Tepe or Disk Laval II • 

Compress -IT.? $24.95 

2 Programsi Remove Spaces 1 REM statements. Compreases 
program into max multiple statement linea. Reduce RAM 
needs up to SOJl. 

Simplify -IT.? $24.95 

3 Programsi Lists in single statement linea. Searches & 
Finds requested text or key commands. Llate all variables 
used in program. 

TEXT. $49.95 

A Combination Text Processor k ELECTRIC FILING CAdlNET. 
WRITE EDIT FILE Reports, Information filesi auto Directory. 
DISK store with auto backup options. File searches by 
Title or Content on 1 to 4 Disk Drives. Formats a Prints. 
A SELF INDEXING QUERY SYSTEM and word Processor. 

List'n File: Names & Things P. $34.95 

Create and maintain NAME (cu9to.fr) files. Sort ualng 
any information category. Print lists or labeia. 

All program, supplied on TAPE or DATA DISKETTE 
Indict, your preference end RAM alze. 



v/SA' 



Bluebird's Inc. 

1441 Greenview Ave. 
East Lansing. Mi. 48823 

Michigan realdente edd *% eelea tax. 




fia'ge 



* 



is* Reader Service — see page 227 



Microcomputing January 1980 141 



25 START-AT-HOME 
COMPUTER BUSINESSES 

In "Low Capital, Startup 
Computer Businesses" 

CONSULTING • PROGRAMMING • MICRO COMPUTER 
OPPORTUNITIES • SOFTWARE PACKAGES • FREELANCE 
WRITING • SEMINARS • TAPE/DISC CLEANING • FIELD 
SERVICE • SYSTEMS HOUSES • LEASING • SUPPLIES • 
PUBLISHING • HARDWARE DISTRIBUTORS • SALES 
AGENCIES • USED COMPUTERS 
SCRAP COMPONENTS • AND MORE 



FINC 

' t 



* 

* 

i 
i 



tuwmm****** 




Plus — ideas on moonlighting, going 
full-time, image building, revenue 
building, bidding, contracts, marketing, 
professionalism, and more. No career 
tool like it. Order now — if not completely 
satisfied, return within 30 days for full 
immediate refund. 

• 8V2 x 11 ringbound • 156 pp. • $20.00 
Phone Orders 901-761-9090 

DATASEARCH -™ 

incorporated 
4954 William Arnold Road, Dept. A, Memphis, TN 38117 
Rush my copy of "Low Capital Startup Computer Businesses" at $20. 



m 



NAME/COMPANY 
ADDRESS 



CITY /STATE/ZIP 



□ Check Enclosed 



□ VISA □ Master Charge 
Exp. Date 



10 MEGABYTE HARD DISK for the 
tippkz computer by Lobo 





* $4990 complete 

• Includes S & H in Cont. U.S.A. 

• Calif, res. add 6% sales tax 

* $3390 Add on drive w/ Power 
Supply 

• Includes S & H in Cont. U.S.A. 

• Calif, res. add 6% sales tax 

* Up to 16 drives per controller 

* 3 ways to format the disk- 
take your choice 

• 1 - 10 megabyte drive 

• 24-8" floppy drives 

• 91 - mini floppy drives 

* Hardware/ Software compatible 

* Disk Diagnostics included 

* Dealer inquiries invited 

* Fully hardware/ software compatible. Our D.O.S. uses all of apples D.O.S. 
commands in the same manner as apples, so a disk program that uses apples 
disk commands will work on this hard disk. 

* Winchester technology— IMI-7710 disk drive 

* Lobo disk controller— Z-80 based. 

* Disk diagnostics include: 

• Reading & writing track & sensor 

• Wild card search on catalogs which allows you to locate program titles by 
using key characters of your choice. 

* Up to 16 disk drivers per controller - others only allow 4 

* System price $4990, includes disk drive, controller, power supply cables & disk 
operating system - others cost $5350. 

* Add-on disk $3390 includes additional power supply - others do not include the 
power supply, they use one power supply for all drives, requiring shut down of 
one drive, before power up of another. 

* D.O.S. with choices, allows you to format the disk into 91 diskette sized 
volumes, or 24 8" floppy sized volumes or 1 big 10 megabyte volume - others 
allow you to format to 88 diskette sized volumes only. 

* Manufactured by Lobo, a progressive disk drive company that is always 
looking for ways to make disk drive use easier & more versatile. 

^C111 

14052 EAST FIRESTONE BOULEVARD _. 

SANTA FE SPRINGS, CALIFORNIA 90670 L^J 

(213)921-2111 • (714)739-0711 AG 





UP TO 



QTRS-80 Complete System 

includes: CPU/ Keyboard, Power Supply, 
Video Monitor, Cassette Recorder, Manual, 
and Game Cassette. 

WLine Printer 
©Mini Disk System 
OC- 10 Cassettes 
©Verbatim Diskettes 



YOUR OWN TRS-80 SYSTEM AT TREMENDOUS SAVINGS 

DISK DRIVES IN STOCK! 



l< 



©I 





REG. 


OUR 


ITEM 


PRICE 


PRICE 


Level II— 4k 


$619.00 


$575.70 


Level II— 16k 


$849.00 


$789.60 


Expansion Interface 


$299.00 


$278.10 


Mini Disk Drive 


$ 495 00 


$ 385 00 


Centronics 730 Printer 


$ 995.00 


$ 85000 


Centronics 101 Printer 


$1595 00 


$1400 00 


Anadex DP -8000 Printer 


$ 895 00 


$ 99500 


Memory K1M16K) i ri I installation 


$ 149 00 


$ 9800 


Verbatim Diskettes ea 


$ 5 95 


$ 4 95 


3 


$ 17 89 


$ 1200 


10 


$ 59 00 


$ 37 00 


C-10 Cassettes 5 


$ 4 95 


S 450 


25 


$ 24 75 


S 1875 


Paper (9 1 2 x 11 fanfold 






3500 sheets) 


$ 3500 


$ 2995 


oALt 






Centronics 779 


$995.00 


Same as Line Printer I (Tractor) 


TRS— 80 MODEL II 


$3626.00 


• 64K RAM 






• V 2 MEG DISK 






ADDITIONAL DISK DRIVE (1ST) 


$1069 50 


ADDITIONAL DISK DRIVE (2ND + 3RD) 


S 558 00 



>*£2J 



TOLL FREE 

1-(800) 345-8102 Orders only! 

FOREIGN and DOMESTIC DISTRIBUTORSHIPS AVAILABLE 



MINI DISK DRIVES NOW $385 

Over $100 less than Radio Shacks! 



There are new developments every day — 
write or call for the latest information. 



\^Z@! 



*^V19 



777 Henderson Boulevard N-6 
Folcroft Industrial Park 
Folcroft PA 19032 

(215)461-5300 



nasie' charge 



VISA 



142 Microcomputing January 1980 



"THE" 

TRS-80 Users Journal 

THE 80-U.S. JOURNAL 

ANYTHING you can do on (or to) Level I, 
Level II or TRSDOS is covered in detail by 
THE JOURNAL. (We have been doing it with 
regularity since September, 1978!) 
Published bi-monthly; subscriptions are 
$16.00/1 year, $31.00/2 years, $45.00/3 years 
in the U.S.; $20.00/1 year, $39.00/2 years, 
$55.00/3 years in Canada (First class mail) 
$24.00/1 year, $47.00/2 years, $68.00/3 years 
all other. (Foreign sent Airmail). MC/Visa 
O.K.— call (206) 475-2219 or send check or 
money order to: 

The 80-U.S. JOURNAL 

PO Box 7112 

Tacoma, Washington 98407 

»^E37 

If your local dealer doesn't have it, send $3.00 for a 
current sample issue!) 



TEXAS INSTRUMENT COHP 
TI 99-4 COMPUTER 
TI 810 BASIC PRINTER 
TI 820 BASIC PRINTER 
TI S0FTUARE 
CENTRONICS PRINTERS 
779-2 TRAC. FD 
FRIC.FD 
NEW PRNTR 



779-1 
730-1 
730-3 

MICRO 



MICRO SI 
MACHINES 



PI *3?0. 
COMMODORE BUSINESS 
PET 2001-8K 

2001 -1 6N,B 
2001 -32N,B 
2040 DUAL FLOPPY 

2022 TRAC.FD PRINTER 

2023 FRIC.FD PRINTER 



PET 
PET 
PET 
PET 
PET 



NORTH STAR COMPUTERS 

BIG tl SAVINGS 
INTERTEC SUPERBRAIN 

THE HONOR GRADUATE 
DISPLAY TERMINALS 
INTERTUBE II 
HAZELTINE 1400 
1410 
1500 
1510 



COMPUTER 



t 995 
♦ 1590 
$1990 

tSAVE 

$949. 
$890. 
$799. 
$849. 
$475. 

$475. 

$859. 

$1090. 

$1090 

$849. 

$749. 



$2990 

$775 
$690. 
$785 
$950. 
$1 14? 



maste* r n*<Ji 



MULTI-BUSINESS COMPUTER SYSTEMS 
28 MARLBOROUGH STREET 
PORTLAND, CONN. 06480 

(203) 342-2747 ^M33 




<•* 



■6 






TO 

MORE DATA PER DOLLAR— only from V R Data Corporation 









V R Data Corporation, Intl. distributor of brand name hardware, 
software and business systems is known worldwide for quality, 
dependability, prompt, personal service and discount prices. 

MINI DISK DRIVES NOW $385 

Over $100 less than Radio Shack's ! 

WE ARE COMMITTED TO THE TRS-80 and THE TRS-80 USERS 

Fully compatible with Radio Shack's operating system TRSDOS IM and 

drives. Just plug in and run! 
•One, two, three or four drive configurations, 102k to 408k bytes. 
•All systems include a patch program to upgrade your TRSDOS IM to 

40 tracks. 
•Cases are finished in gray to match your system. 

IMMEDIATE DELIVERY: Why wait 5 months for mini disk drives from 
other suppliers— get better drives— quicker— and at lower prices 
now! 

ORDER NOW TOLL FREE 800-345-8102 



p* 




* 



^V19 



W< urp MORI DATA PIH DOllJKR 

111 Hvndvrson Httulrvani N-b • / oltroft Industrial Park 
FOREIGN and DOMESTIC DISTRIBUTORSHIPS AVAILABLE • 



i • / olcroft, PA 19032 • (215) 46I-530V 
TOLL FREE 1(800) 345-8102 Orders only! 



u* Reader Service — see page 227 



Microcomputing January 1980 143 



Chesney E. Twombly 
15 Storer Street 
Kennebunk ME 04043 



A Heath H8 Disassembler 



This article picks up where "CONOPS" (July 1979, page 108) left off. 



Disassemble your Heath H8 
software and learn from 
the professionals. If you want 
to educate yourself in the art of 
programming, this is one of the 
most productive exercises you 
can perform. 

I have anticipated this need 
of H8 owners and present this 
disassembler, which will run on 
your versatile Heath machine 
without using up a lot of that 
expensive memory. You are 
already familiar with "CON- 
OPS," the H8 console-oriented 
operating system (July 1979 
Microcomputing, p. 108). This 
disassembler uses many CON- 
OPS subroutines and has been 
cunningly designed to occupy a 
block of adjacent memory, 
which makes permanent at- 
tachment easy. 

What Does It Do? 

A disassembler looks at a 
program stored in memory and 
helpfully translates each in- 
struction byte from binary code 

CONOPS, including the disassembler and 
string finder, is available from the author 
for $5 (one per customer). It comes on cas- 
sette in H8 memory image format, assem- 
bled to start at any requested address be- 
tween 2700 and B700. 



into the mnemonic language 
used by assemblers. Just tell 
"Sammy" where to begin and 
he will print the instruction ad- 
dress, the hexadecimal instruc- 
tion and the corresponding 
mnemonic. 

Sammy will not give you 
labels or remarks and can deal 
only with instruction codes. 
Data bytes (ASCII characters, 
for example) are not recog- 
nized. Sammy assumes every- 
thing is an instruction and will 
print garbage when data is 
encountered. On a straight op 
code diet, he will make no er- 
rors and, fortunately, will 
recover in a couple of bytes 
when meeting instruction bytes 
again after being brought down 
by data. 

How to Use It 

Load the program into your 
H8, byte by byte. It will take 
some time, but the listing is in 
hexadecimal, so you can use 
the efficient CONOPS program 
loader referenced earlier. To 
run the disassembler, hit G for 
GO and enter 67DF, the starting 
address. You will then see the 
following display: 



2-7 BYTES 

* 



BEGIN ADDR? 

Now, enter the address of the 
first byte of the program you 
wish to disassemble. Take care 
to start it on the first byte of an 
instruction code. If you enter 
6C00, the start of CONOPS, you 
will be rewarded with a display 
as follows: 

6C00C3C1 6E JMP 

Push any key other than A or S 
to decode the next instruction: 

6C03 7E MOV A,M 

If you want to save yourself 
the trouble of pushing a key to 
advance the disassembler, you 
can press the A key, which will 
change the mode to automatic. 
The program will then do its 
own stepping and can be 
stopped only by a reset applied 
from the H8 front panel keypad. 
The automatic mode is useful if 
you have a printer. In the one- 
step mode, entering an S will 
stop the program and exit to 
***, the operating system 
ready prompt. 

How Does It Work? 

Look at an 8080 op code table, 
like the one on the large plastic 
card that comes with your H8, 
and you will see that the mne- 



OPCODE 



INDEX 



MNEM 



MNEM 



MNEM 



1 


INST 
CNT 


SPACE 

CNT 


1 1 

MNEM 
CNT 

_i 1 



Fig. 1. 



Fig. 2. 



monies have a curious variety. 
The character count of the main 
word ranges from 2 to 4. Ap- 
pended characters number to 
4. Many bytes of any disas- 
sembler are used by the mne- 
monic lookup tables. For each 
of the 244 op codes, the program 
must contain the following data: 
the mnemonic, coded in ASCII; 
formatting information; and in- 
struction byte count. 

A single lookup table holding 
all this data would use about 
1400 bytes of memory. Such a 
table would contain many 
repetitive words. For example, 
MOV appears in 63 instructions; 
the appended letter B appears in 
45. Avoiding as much of this 
wasteful duplication as possi- 
ble was one of the main con- 
siderations in the design of this 
disassembler program. 

Studying the op code table 
reveals some useful facts. 

1 . Bits 6-7 of the op code iden- 
tify certain subgroups. In split- 
octal, these two bits are 0, 1 , 2 or 
3. 

2. All codes starting with 1 or 
2 are single-byte instructions. 

3. All codes in octal group 
100-177, with one exception, are 
MOV instructions. 

4. Codes in octal 200-277 are 
combinations of eight 3-char- 
acter, basic mnemonic words 
plus eight single-character 
operands. 



144 Microcomputing January 1980 



( START J 



SET THE STACK 
PNTR, 

PRESET MODE 
TO ONE-STEP 



INPUT ADDR 
OF FIRST OP CODE 
TO BE DISAS- 
SEMBLED 




GET ADDR. 
CONVERT TO ASCI I 
AND PUT IT 
IN OUTPUT BUFR 



FILL OUTPUT 
BUFR WITH 
ASCII SPACE 
CHARS 



GET THE 

OP CODE PLUS 

THE NEXT TWO 

BYTES 



( CALL ^\ 
I DECODE J 




USE OP CODE 
TO ACCESS THE 
LOOKUP TABLE 
OPSOOO/OPS300 



GET DATA FROM 

TABLE 

PUT MNEMONIC 

IN OUTPUT BUFR 




In this program, the lookup 
tables have a total byte count 
of 606. The large, general table, 
OPS000/OPS300, has the ar- 
rangement shown in Fig. 1. 

The index byte has a most 
significant bit of 1, which makes 
it identifiable as a non-mne- 
monic. The table is scanned 
starting at the high-end address 
—the location called STSCAN 
in the Disassembler program 
listing. When the index byte is 
encountered, the next byte 
down is an op code byte, which 
is compared with the instruction 
byte held in Reg A. When a 
match is found, the table pointer 
is advanced to decode the index 
byte and then to read the mne- 
monic and place it in the output 
buffer LIN. The table contains 
no spaces. Space information is 
in the index byte. 

The index byte is encoded as 
shown in Fig. 2. MNEM CNT is 
the total number of characters 
in the mnemonic, excluding 
spaces. It may be 2 to 7. SPACE 
CNT is the number of spaces be- 
tween the main mnemonic word 




CONVERT OP CODE 
TO ASCI I AND 
PUT IT INTO 
OUTPUT BUFR 



OUTPUT THE 
CONTENTS OF 
THE OUTPUT 
BUFR 



YES 




INPUT 

A COMMAND 

CHARACTER 





YES 



(JUMP TO A 
MONITOR J 



YES 



CLEAR THE 
MODE FLAG 



GET MNEM 
FROM SPL TABL 
AND OPERAND 
FROM OPS200 



SET POINTER 
TO ADDR 
OF THE NEXT 
INSTR 




(L 



GET MNEM 
FROM SPECIAL 
TABLE AND 
PUT IT IN 
OUTPUT BUFFER 



PUT MNEMONIC 
IN OUTPUT BUFFER 



PROCESS BYTE 
TO FORM 
TABLE ADDR 



PROCESS BYTE 
TO FORM 
TABLE ADDR 



GET MNEMONIC 
FROM 0PS2O0 
PUT IT IN 
OUTPUT BUFR 



GET MNEMONIC 
FROM OPS200 
PUT IT IN 
OUTPUT BUFR 



CLEAR THE 

CARRY FLAG 

RETURN 



D 



Fig. 3. Program flowchart. 



and any appended operand. It 
may be zero to 3. INST CNT is 
the number of bytes in the in- 
struction. It may be 1 to 3. 

Two other tables are used. 
OPS200 serves the octal group 
200-277 and is used, in a limited 
way, by groups 000 and 100. The 
remaining table supplies mne- 
monics for the instructions INR, 
DCR, MVI, MOV and HLT. 
OPS200 is accessed by the 
subroutines GET1, GET3 and 
ADDONE. 

The flowchart in Fig. 3 gives 
an overall view of the program 
structure, which is simple and 
easy to follow. DECODE is a 
subroutine, with a return at the 
end of each branch. It is called 
by the main program and comes 
back with the status of the carry 
flag controlling the next step. 

I have found the disassembler 
useful not only in the analysis of 
unknown programs, but also in 
checking for loading errors. You 
can add another code to your 
CONOPS jump table to select 
the disassembler. I use S for 
"Sammy." ■ 



i 

2 
3 

4 
5 
6 

7 
/ 

8 
9 
If 
11 
12 
13 
M 
15 
16 
\? 
18 
19 
2# 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 

31 

32 

33 

34 

35 

36 

3? 

38 

39 

40 

41 

42 

43 

44 

45 

46 

47 

48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 
60 



6F3E 



6FB0 

6HP4 

6C03 
6C4C 
6C11 
6C1H 
6EDB 
6C55 
6C59 



6F3E 
6F3F 
6F40 
6F42 

6F44 
6F45 
6F47 
6F48 

67DF 



67DF 

67E2 

67E5 

67E8 

67EA 

67ED 

67F0 

67F1 

67F4 

67F5 

67F8 

67F9 

67FA 

6?FD 

67FE 

67FF 

6802 

6803 

6804 

6807 

680A 



31 

21 

CD 

3E 

32 

CD 

EH 

22 

E5 

CD 

El 

7E 

32 

23 

7E 

32 

23 

71 

32 

21 

3A 



B0 6F 
B4 6D 
03 6C 
FF 

3F 6F 
4C 6C 

42 6F 

8E 69 



44 6F 



45 6F 



46 6F 
48 6F 
43 6F 



/^ SET THE >v 
( CARRY FLAG ) 
\^ RETURN J 



* 
» 
* 
* 
* 
* 
* 
* 
* 
* 
* 
* 



DISASSEHBLER FOR HEATH H8 COMPUTER 

FOR USE UITH "CONOPS", THE H8 CONSOLE 
ORIENTED OPERATING SYSTEM. SEE KILOBAUD. 

BY CHESNEY E. TUOMBLY 
15 ST0RER ST., 
KENNEBUNK HE 04043 

2/11/79 



OPT MEM.NUM 



Co 
0> 
Co 
Co 
CD 

CD" 



O 
3 



* 

STACK 

MSI 

PDATA 

IN4H 

CRLF 

INCHR 

MONIT 

HEXL 

HEXR 

* 

MCNT 

MODE 

AD DM 

ADDR 

INST 
OPER 
NBR 
LIN 

* 



* MAIN 
ENTER 



ORG 

EQU 
EOU 
EQU 
EQU 
EOU 
EOU 
EQU 
EQU 
EQU 

DS 
DS 
DS 
DS 

DS 
DS 
DS 
DS 

ORG 

PROGRAM 



♦ 6F3E 

$6FB# 
I6DB4 
$6C03 
S6C4C 
I6C1 1 
I6C1D 
S6EDB 

♦ 6C55 

♦ 6C59 

1 

1 

2 
2 

1 

2 
1 
27H 

♦ 67DF 



CONTIN 



LXI 

LXI 

CALL 

MVI 

STA 

CALL 

XCHG 

SHLD 

PUSH 

CALL 

POP 

MOV 

STA 

INX 

HOU 

STA 

INX 

MOV 

STA 

LXI 

LDA 



SP, STACK 

H,MS1 

PDATA 

A,$FF 

MODE 

IN4H 

ADDR 

H 

SPACES 

I 

A,M 

INST 

H 

1,1 

OPER 

H 

A,rf 

0PER*1 

H,LIN 

ADDRH 



JPRESET STEP MODE 
JGET START ADDR 
JH,L < D,E 
J SAVE IT 
JSTACK < ADDR 

JH,L < ADDR 
J6ET OPR Ml 
JSAVE IT 

JGET OPR *2 
J SAVE 

JGET OPR #3 

J SAVE 

JPNTR TO START OF BUFR 

JGET ADDR HI BYTE 



Microcomputing January 1980 145 



61 


680D CD 71 69 




CALL 


CBH 


JCONVT BINARY TO HEX 


62 


6810 3A 42 6F 




LDA 


ADDR 


;lo BYTE 


63 


6813 CD 71 69 




CALL 


CBH 


JCONVT AND PUT IN BUFR 


64 


6816 CD B9 68 




CALL 


DECODE 


JPRQCESS BYTE 


65 


6819 DA 74 68 




JC 


OUTLIN 


JHAVE COMPLETE MNEMONIC 


66 




* 








67 




* ENTERED WHEN 


OPCODE REQUIRES USE OF 


68 




* TABLES OPS000 OR OPS300 TO GET MNEMONIC. 


69 




* 








70 


681C 21 CF 6B 




LXI 


H.STSCAN 


JPNTR TO SCAN START 


71 


681F 3A 44 6F 




LDA 


INST 


;GET 1ST OPCODE BYTE 


72 


6822 F5 


XSCAN 


PUSH 


PSU 




73 


6823 2B 


SCAN 


DCX 


H 




74 


6824 ?E 




NOV 


A,M 




75 


6825 D6 80 




SUI 


$80 


JINBEX BYTE TEST 


76 


6827 FA 23 68 




JH 


SCAN 


JNOT INDEX SO LOOP 


7? 


682A F1 




POP 


PSU 




78 


682ft 2B 




DCX 


H 


JFNTR TO OPCODE BYTE 


79 


682C BE 




CNP 


N 


JCOHPARE 1ST INSTRUCTION BYTE 


80 


e82D CA 33 68 




JZ 


FOUND 


JTO TABLE OPCODE BYTE. 


81 


6830 C3 22 68 




JHP 


XSCAN 


JLOOK FOR NEXT OPCODE BYTE 


82 




* 








83 


6833 23 


FOUND 


INX 


H 




84 


6834 7E 




NOV 


A,M 


;GET INDEX BYTE FROM TABLE 


85 


6835 F5 




PUSH 


PSU 




86 


6836 F5 




PUSH 


PSU 




87 


6837 E6 07 




ANI 


7 


;6ET MNEM BYTE COUNT 


88 


6839 32 3E 6F 




STA 


HCNT 


JSAVE IT HERE 


89 


683C 47 




MOV 


B,A 


:anh HERE 


90 


683D F1 




POP 


PSU 


;6CT INSTR BYTE 


91 


683E 0F 




RRC 






92 


683F 0F 




RRC 






93 


6840 0F 




RRC 






94 


6841 E6 03 




ANI 


3 


JGET SPACE COUNT 


95 


6843 47 




HOV 


B,A 




96 


6844 4F 




HOV 


C,A 




97 


6845 3E 05 




MVI 


A, 5 


jCOMPUTE * BYTES IN 


98 


6847 90 




SUB 


B 


JMNEHONIC MAIN UORD. 


99 


6848 47 




HOV 


B,A 


JSAVE U'.RD COUNT IN B 


100 


6849 F1 




POP 


PSU 




101 


684A C5 




PUSH 


B 




102 


684B 07 




RLC 






103 


684C 07 




RLC 






104 


684D 07 




RLC 






105 


684E E6 03 




ANI 


3 




106 


6850 32 47 6F 




STA 


NBR 




107 




* 








108 




♦ TAKE 


MNEMONIC FROM LOOK-UP TABLE 


109 




* AND PUT IT 


INTO OUTPUT 


BUFFER (LIN). 


110 




* INSERT ANY 1 


REQUIRED SPACES. 


111 




* 








112 


6853 11 62 6F 




LXI 


D,LIN*26 




113 


6856 23 


CHAR 


INX 


H 




114 


6857 7E 




NOV 


A,M 




115 


6858 12 




STAX 


D 




116 


6859 13 




INX 


1 




117 


685A 05 




DCR 


1 




118 


685B C2 56 68 




JNZ 


CHAR 




119 


685E 13 


SPAC 


INX 


1 




120 


685F 0D 




DCR 


C 




121 


6860 C2 5E 68 




JNZ 


SPAC 




122 


6863 3A 3E 6F 




LDA 


HCNT 




123 


6866 CI 




POP 


i 




124 


6867 90 




SUB 


B 




125 


6868 CA 74 68 




JZ 


OUTLIN 




126 


686B 47 




MOV 


M 




127 


686C 23 


APND 


INX 


H 




128 


686D ?t 




NOV 


A,M 




129 


686E 12 




STAX 


1 




130 


686F 13 




INX 


D 




131 


6870 05 




DCR 


B 




132 


6871 C2 6C 68 




JNZ 


APND 




133 




* 








134 




* PUT 


INSTRUCTION CODE 


INTO OUTPUT 


135 




* BUFR 


AND PRINT CONTENTS OF BUFFER. 


136 




* 








137 


6874 3A 47 6F 


OUTLIN 


LDA 


NBR 




138 


6877 47 




HOV 


B,A 




139 


6878 11 44 6F 




LXI 


B.INST 




140 


687B 21 4E 6F 




LXI 


H,LIN*6 




141 


687E 1A 


ANOTH 


LDAX 


D 




142 


687F CD 71 69 




CALL 


CBH 




143 


6882 05 




DCR 


B 




144 


6883 13 




INX 


D 




145 


6884 23 




INX 


H 




146 


6885 E5 




PUSH 


H 




147 


6886 2A 42 6F 




LHLD 


ADDR 




148 


6869 23 




INX 


H 




149 


688A 22 42 6F 




SHLP 


ADDR 




150 


688D El 




POP 


H 




151 


688E C2 7E 68 




JNZ 


ANOTH 




152 


6891 CD 11 6C 




CALL 


CRLF 


;ALL DATA IN LIN 


153 


6894 21 48 6F 




LXI 


H.LIN 


JPREPARE TO OUTPUT IT. 


154 


6897 CD 03 6C 




CALL 


PDATA 




155 


689A 3A 3F 6F 




LDA 


HODE 




156 


689D FE FF 




CPI 


♦ FF 


JTEST MODE BYTE 


157 


689F C2 B3 68 




JNZ 


AUTO 


;00 INDICATES AUTOMATIC 


158 


68A2 CD ID 6C 




CALL 


INCHR 


;UAIT FOR OPER CMND 


159 


68A5 FE 53 




CPI 


'%' 


{TEST FOR STOP COMND 


160 


68A7 CA DB 6E 




JZ 


HONIT 




161 


68AA FE 41 




CPI 


'A' 


;TEST FOR AUTO COMND. AUTO 


162 


68AC C2 B3 68 




JNZ 


AUTO 


JNODE CAN BE EXITED ONLY BY 



163 


68AF AF 


XRA 


A 


HARDUARE RESET. 


164 


68B0 32 3F 6F 


STA 


MODE 




165 


68B3 2A 42 6F AUTO 


LHLD 


ADDR 




166 


68B6 C3 F4 67 


JMP 


CONTIN 




167 


* 








168 


* INSTR 


CODE M 


BYTE IS CLASSII 


169 


» DETERMINE UHICH PROCESSING ROUTINE 


170 


* UILL 


BE USED 


TO GET MNEMONIC AND BYTE 


171 


* COUNT 


. RETURN TO CALLING 


i PROGRAM. 


172 


* 








173 


68B9 3E 01 DECODE 


MVI 


0,1 




174 


68BB 32 47 6F 


STA 


NBR 




175 


68BE 3A 44 6F 


LDA 


INST 




176 


68C1 07 


RLC 






177 


68C2 07 


RLC 






178 


68C3 E6 03 


ANI 


3 




179 


68C5 D6 02 


SUI 


2 




180 


68C7 CA 3A 69 


JZ 


GR2 




181 


68CA F0 


RP 






182 


68CB C6 01 


ADI 


1 




183 


68CD CA 06 69 


JZ 


GR1 




184 


* 








185 


68D0 3A 44 6F GR0 


LDA 


INST 




186 


68D3 E6 07 


ANI 


7 




187 


68D5 FE 04 


CPI 


4 


JTEST FOR INR 


188 


68D7 C2 E3 68 


JNZ 


TDCR 




189 


68DA 11 F0 6B 


LXI 


D.INR 




190 


68DD CD 60 69 


CALL 


GET3 




191 


68E0 C3 7E 69 


JMP 


ADDONE 




192 


* 








193 


68E3 FE 05 TBCR 


CPI 


5 




194 


68E5 C2 F1 68 


JNZ 


TMVI 




195 


68E8 11 F3 6B 


LXI 


D.DCR 




196 


68EB CD 60 69 


CALL 


GET3 




197 


68EE C3 7E 69 


JMP 


ADDONE 




198 


* 








199 


68F1 FE 06 TMVI 


CPI 


6 




200 


68F3 C2 04 69 


JNZ 


GR000 




201 


68F6 3E 02 


MVI 


A, 2 




202 


68F8 32 47 6F 


STA 


NBR 




203 


68FB 11 F6 6B 


LXI 


D,MVI 




204 


68FE CD 60 69 


CALL 


GET3 




205 


6901 C3 7E 69 


JMP 


ADDONE 




206 


* 








207 


6904 A7 GR000 


ANA 


A 


JCLEAR CARRY 


208 


6905 C9 


RET 






209 


* 








210 


6906 3A 44 6F GR1 


LDA 


INST 




211 


6909 FE 76 


CPI 


$76 


JTEST FOR HLT 


212 


690B C2 16 69 


JNZ 


ISMOV 




213 


690E 11 FC 6B 


LXI 


D.HLT 




214 


6911 CD 60 69 


CALL 


GET3 




215 


6914 37 


STC 






216 


6915 C9 


RET 






217 


* 








218 


6916 F5 ISMOV 


PUSH 


PSU 




219 


6917 F5 


PUSH 


PSU 




220 


6918 11 F9 6B 


LXI 


D.NOV 




221 


691B CD 60 69 


CALL 


GET3 




222 


691E F1 


POP 


PSU 




223 


691F E6 38 


ANI 


$38 




224 


6921 0F 


RRC 






225 


6922 0F 


RRC 






226 


6923 0F 


RRC 






227 


6924 CD 54 69 


CALL 


6ET1 




228 


6927 32 67 6F 


STA 


LIN*31 




229 


692A 3E 2C 


MVI 


A, . 




230 


692C 32 68 6F 


STA 


LIN+32 




231 


692F F1 


POP 


PSU 




232 


6930 E6 07 


ANI 


-> 




233 


6932 CD 54 69 


CALL 


GET1 




234 


6935 32 69 6F 


STA 


L'rf+33 




235 


6938 37 


STC 






236 


6939 C9 


RET 






237 


* 








238 


693A 3A 44 6F GR2 


LDA 


INST 




239 


693D F5 


PUSH 


PSU 




240 


693E 11 D0 6B 


LXI 


D.OPS200 




241 


6941 E6 38 


ANI 


$38 




242 


6943 0F 


RRC 






243 


6944 8B 


ADC 


E 




244 


6945 5F 


NOV 


E,A 




245 


6946 CD 60 69 


CALL 


GET3 




246 


6949 F1 


POP 


PSU 




247 


694A E6 07 


ANI 


7 




248 


694C CD 54 69 


CALL 


6ET1 




249 


694F 32 67 6F 


STA 


LIN+31 




250 


6952 37 


STC 






251 


6953 C9 


RET 






252 


* 








253 


6954 11 D0 6B GET1 


LXI 


D.OPS200 




254 


6957 13 


INX 


D 




255 


6958 13 


INX 


B 




256 


6959 13 


INX 


D 




257 


695A 07 


RLC 






258 


695B 07 


RLC 






259 


695C 8B 


ADC 


E 




260 


695D 5F 


MOV 


E,A 




261 


695E 1A 


LDAX 


D 




262 


695F C9 


RET 






263 


* 








264 


6960 06 03 GET3 


MVI 


1,3 





146 Microcomputing January 1980 



265 


6962 21 62 6F 






LXI 


H,LIN+26 




266 


6965 1A 


GETMO 


LDAX 


D 




267 


6966 77 






NOV 


M 




268 


6967 13 






INX 


D 




269 


6968 23 






IUX 


H 




270 


6969 05 






DCR 


B 




271 


696A CA 70 69 






JZ 


DONE 




272 


696D C3 65 69 






JMP 


GETMOR 




273 


6970 C9 


BOft 


RET 






274 




* 










275 




♦ 


CONVERT BINARY BYU IN REG 


A TO 2 HEX 


276 




* 


CHARS. SAVE 


IN ADDR POINTED 


TO BY H,L. 


277 




* 










278 


6971 F5 


CBH 


PUSH 


PSU 




279 


6972 CD 55 6C 






CALL 


HE XL 




m 


t>97^ 77 






NOV 


M.A 




281 


6976 F1 






POP 


PSU 




282 


6977 23 






I NX 


H 




283 


6978 CD 59 6C 






CALL 


HEXR 




284 


697B 77 






MOV 


M 




285 


697C 23 






INX 


H 




286 


697D C? 






RET 






287 




* 










288 


697E 3A 44 6T 


ADD 


LDA 


INST 




289 


6981 E6 38 






AMI 


(38 




290 


6983 IF 






RAR 






291 


6984 IF 






RAR 






292 


6985 IF 






RAR 






293 


6986 CD 54 69 






CALL 


GET1 




294 


6989 32 67 6F 






STA 


LIN+31 




295 


698C 37 






STC 






296 


698D C9 






RET 






297 




* 










298 




* 


FILL 


OUTPUT 


BUFR UITH ASCII 


SPACE CHARS. 


299 




* 










300 


698E 21 48 6F 


SPACES 


LXI 


H,LIN 




301 


6991 06 27 






MVI 


•,♦27 




302 


6993 36 20 


SP 




MVI 


1,120 




303 
304 


6995 05 






DCR 


B 




6996 23 






INX 


H 




305 


6997 C2 93 69 






JNZ 


SP 




306 


699A 3E 04 






HVI 


A. 4 ;end 


OF LINE CHAR 


307 


699C 32 6F 6F 






STA 


LIN.+ 39 




308 


699F C9 






RET 






309 




• 










310 


69A0 






ORG 


I69A0 




311 




* 










312 




* 


HNEMON 




313 




* 










314 




* 


OPS000 






315 


69A0 00 B3 






II 


0.IB3 




316 


69A2 4E 4F 50 






DB 


NOP 




317 


69A5 01 F4 






D6 


1,*F4 




318 


69A7 4C 58 49 
69AA 42 






DB 


LXIB 




319 


69AB 02 AD 






II 


2,$AI 




320 


69AD 53 54 41 
69B0 58 42 






DB 


STAXB 




321 


69B2 03 B4 






DB 


1. 114 




322 


69B4 49 4E 58 
69B7 42 






DB 


INXB 




323 


69B8 07 B3 






DB 


7, $13 




324 


69BA 52 4C 43 






DB 


'RLC 




325 


69BD 08 B3 






DB 


10. $13 




326 


69BF 2A 2A 2A 






DB 


'*• + ■■' 




327 


69C2 09 B4 






DB 


I9.IB4 




328 


69C4 44 41 44 
69C7 42 






DB 


BAD*' 




329 


69C8 0A AD 






DB 


♦A, IAD 




330 


69CA 4C 44 41 
69CD 58 42 






DB 


LDAXB 




331 


69CF 0B B4 






DB 


II, $M 




332 


69D1 44 43 58 
69D4 42 






DB 


DCXB 




333 


o?B5 0F B3 






DB 


*F,IB3 




334 


69D7 52 52 43 






DB 


RRC 




335 


69DA 10 B3 






DB 


110, IB3 




336 


69DC 2A 2A 2A 






DB 


*+*•■' 




337 


69DF 11 F4 






DB 


$11. $F4 




338 


69E1 4C 58 49 
69E4 44 






DB 


LXI Ti- 




339 


69E5 12 AD 






DB 


ll 2, IAD 




340 


69E7 53 54 41 
69EA 58 44 






DB 


'STAXD' 




341 


69EC 13 B4 






DB 


113, IM 




342 


69EE 49 4E 58 
69F1 44 






DB 


INXD' 




343 


69F2 17 B3 






DB 


•17, $B3 




344 


69F4 52 41 4C 






DB 


'RAL/ 




345 


69F7 18 B3 






Dl 


f 1 8,$B3 




346 


69F9 2« 2A 2A 






DB 


'*•*'' 




347 


69FC 19 P4 






DB 


♦19.IB4 




348 


69FE 44 41 44 
6A01 44 






DB 


DADD' 




349 


6A02 1A AD 






DB 


11 A, IAD 




350 


6A04 4C 44 41 
6A07 58 44 






DB 


LDAXD 




351 


»A09 IB B4 






DB 


♦1B,IB4 




352 


6A0B 44 43 58 
6A0E 44 






DB 


DCXD' 




353 


6A0F IF B3 






DB 


$1F,$I3 




354 


6A11 52 41 52 






DB 


RAR- 





355 


6A14 20 B3 


DB 


*20 t $B3 


356 


6A16 2A 2A 2A 


DB 


'***' 


357 


6A19 21 F4 


DB 


♦21.IF4 


358 


6A1B 4C 58 4? 
6A1E 48 


DB 


L X I H ' 


359 


6A1F 22 EC 


DB 


$22,$EC 


360 


6A21 53 48 4C 
6A24 44 


DB 


SHLD 


361 


6A25 23 B4 


DB 


♦23,IB4 


362 


6A27 49 4E 58 
6A2A 48 


DB 


INXH 


363 


6A2B 27 B3 


DB 


*27,$l3 


364 


6A2D 44 41 41 


DB 


DAA 


365 


6A30 28 B3 


DB 


$28,SB3 


366 


6A32 2A 2A 2A 


DB 


** + 


367 


6A35 29 B4 


DB 


♦2?,IB4 


368 


6A37 44 41 44 
6A3A 48 


DB 


'DADH 


369 


6A3B 2A EC 


DB 


$2A,*EC 


370 


6A3D 4C 48 4C 
6A40 44 


DB 


LHLD 


371 


6A41 2B B4 


DB 


I2B,IB4 


372 


6A43 44 43 58 
6A46 48 


DB 


DCXH 


373 


6A47 2F B3 


DB 


♦2F,IB3 


374 


6A49 2A 2A 2A 


DB 


■■' * » I 


375 


6A4C 31 F5 


DB 


♦31,IF5 


376 


6A4E 4C 58 49 
6A51 53 50 


DB 


LXISP 


377 


6A53 32 F3 


DB 


132, IF3 


378 


6A55 53 54 41 


DB 


STA 


379 


6A58 33 B5 


DB 


I33,IB5 


380 


6A5A 49 4E 58 
6A5D 53 50 


DB 


INXSP 


381 


6A5F 37 13 


DB 


♦37, ♦Dj 


382 


6A61 53 54 43 


DB 


STC 


383 


6A64 38 B3 


DB 


♦38,IB3 


384 


6A66 2A 2A 2A 


DB 


+ * i 


385 


6A69 39 B5 


DB 


♦39, IBS 


386 


6A6B 44 41 44 
6A6E 53 50 


DB 


DADSP 


387 


6A70 3A F3 


DB 


♦3A.IF3 


388 


6A72 4C 44 41 


DB 


lda 


389 


6A75 3B B5 


DB 


I3B,IB5 


390 


6A77 44 43 58 
6A7A 53 50 


DB 


'DCXSP 


391 


C.A7C 3F B3 


DB 


I3F,IB3 


392 


6A7E 43 4D 43 


DB 


CMC 


393 




* OPS300 




394 


6A8I C0 B3 


DB 


IC0.IB3 


395 


6A83 52 4E 5A 


DB 


RNZ' 


396 


6A86 CI B4 


II 


♦CI ,IB4 


397 


6A88 50 4F 50 
6A8B 42 


DB 


POPB' 


398 


6A8C C2 F3 


DB 


IC1',IF3 


399 


6A8E 4A 4E 5A 


DB 


JNZ 


400 


6A?1 C3 F3 


DD 


1C3.IF3 


401 


6A?3 4A 4D 50 


DB 


Jhp 


402 


6A96 C4 F3 


DB 


IC4.IF3 


403 


6A98 43 4E 5A 


DB 


CNZ 


404 


6A9B C5 AD 


DP 


$C5,tAD 


405 


6A9D 50 55 53 
6AA0 48 42 


DB 


PUSHB 


406 


6AA2 C6 D3 


DB 


IC6,IH3 


407 


6AA4 41 44 49 


BB 


ADI 


408 


6AA7 C7 B4 


DB 


♦C7,IB4 


40? 


ohA? 52 53 54 
6AAC 30 


DB 


RSTG 


410 


6AAD C8 BA 


DB 


•C8,$BA 


411 


6AAF 52 5A 


DB 


'HI 


412 


6AB1 C? B3 


DB 


♦C9.IB3 


413 


6AB3 52 45 54 


DB 


RET 


414 


6AB6 CA FA 


DB 


♦CA.IFh 


415 


6AB8 4A 5A 


DB 


JZ' 


416 


6ABA CB B3 


D* 


$£»,W3 


417 


6ABC 2A 2A 2A 


DB 


' * * * * 


418 


6ABF CC FA 


DB 


1CC.1FA 


419 


6AC1 43 5A 


DB 


CZ 


420 


6AC3 CD EC 


DB 


♦CD, SEC 


421 


6AC5 43 41 4C 
6AC8 4C 


DB 


CALL 


422 


6AC9 CE D3 


DB 


ICE, Mi 


423 


6ACB 41 43 49 


DB 


ACT 


424 


6ACE CF B4 


DB 


♦CF,IB4 


425 


6AD0 52 53 54 
6AD3 31 


DB 


RST1' 


426 


6AD4 D0 B3 


DB 


!D0,$B3 


427 


6AD6 52 4E 43 


DB 


'RNC 


428 


6AD9 Dl B4 


DB 


ID1.IB4 


42? 


6ADB 50 4F 50 
6ADE 44 


DB 


POPD 


430 


6ADF D2 F3 


DB 


112, $F3 


431 


6AE1 4A 4E 43 


DB 


JNC 


432 


6AE4 D3 D3 


DB 


$D3,$D3 


433 


6AE6 4F 55 54 


DB 


'OUT' 


434 


6AE9 D4 F3 


DD 


114, IF3 


435 


6AEB 43 4E 43 


DB 


CNC 


436 


6AEE D5 AD 


DB 


♦D5.IAD 


437 


6AF0 50 55 53 
6AF3 48 44 


DB 


■'PUSHB- 


438 


6AF5 D6 D3 


DB 


IM,tB3 


439 


6AF7 53 55 49 


DB 


'sur 



Microcomputing January 1980 147 



440 


6AFA 17 B4 


DB 


»D7,IB4 


441 


6AFC 52 53 54 
6AFF 32 


DB 


RST2 


442 


6B00 D8 BA 


DB 


$DB, *BA 


443 


6B02 52 43 


DB 


RC' 


444 


6B04 D9 B3 


DB 


$D9,$B3 


445 


6B06 2A 2A 2A 


DB 


l * * •' 


446 


6B09 DA FA 


DB 


♦DA, ♦FA 


447 


6B0B 4A 43 


DB 


jc ■- 


448 


6B0D DB DA 


BB 


♦DB,iDA 


449 


6B0F 49 4E 


DB 


IN 


450 


6B1 1 DC FA 


DB 


♦DC, ♦FA 


451 


6B13 43 43 


DB 


CC 


452 


6B15 DD B3 


DB 


♦DD,*B3 


453 


6617 2 A 2 A 2 A 


DB 


♦ + * ' 


454 


6B1A DE D3 


DB 


*BE,*D3 


455 


6B1C 53 42 49 


DB 


'SIX' 


456 


6B1F DF B4 


DB 


•DF,»B4 


457 


6B21 52 53 54 
6B24 33 


DD 


RST3 


458 


6B25 E0 B3 


DB 


«E0,«B3 


459 


4127 52 50 4F 


II 


RPO 


460 


6B2A El B4 


DB 


♦ El ,*B4 


461 


6B2C 50 4F 50 
6B2F 48 


DB 


'POPH 


462 


6B30 E2 F3 


DB 


$E2,$F3 


463 


6B32 4A 50 4F 


DB 


JPQ 


464 


6B35 E3 AC 


DB 


♦ E3,$Ai. 


465 


6B37 58 54 48 
6B3A 4C 


DB 


XTHL 


466 


6B3B E4 F3 


DB 


♦E4,*F3 


467 


6B3D 43 50 4F 


DB 


CPG 


468 


6B40 E5 AD 


DB 


•E5 , ♦AD 


469 


6B4 ' 50 55 53 
6B45 48 48 


DB 


PUSMH 


470 


6B47 E6 D3 


DB 


♦E6,*D3 


471 


6B49 41 4E 49 


DB 


AN[ 


472 


6B4C E7 B4 


DB 


♦E7,IB4 


473 


6B4E 52 53 54 
oB51 34 


DB 


RST4 


474 


6152 E8 B3 


BB 


*E8,tl3 


475 


oB54 52 50 45 


DB 


RPE 


476 


6B57 E9 AC 


DB 


$E9,*AC 


477 


6B59 50 43 48 
6B5C 4C 


DB 


• PCHL 


478 


6B5D EA F3 


DB 


IEA.IF3 


479 


6B5F 4A 50 45 


DB 


JPE- 


480 


6B62 EB AC 


DB 


♦EB,IAC 


481 


6B64 58 43 48 
6B67 47 


DB 


XCHG 


482 


6B68 EC F3 


DB 


•EC,IF3 


483 


6B6A 43 50 45 


DB 


CPE 


484 


6B6D ED B3 


D.< 


IEMI3 


485 


6B6F 2A 2A 2A 


DB 


* ♦ * 


486 


4172 EE D3 


DB 


♦EE.ID3 


487 


6B74 58 52 49 


DB 


XRI 


488 


6B77 EF B4 


DB 


*EF,*B4 


489 


6B79 52 53 54 
6B7C 35 


DB 


RST5 


490 


6B7D F0 BA 


Dl 


IF#,t** 


491 


6B7F 52 50 


DB 


RP 


492 


6B81 F1 B6 


DB 


♦F1,*Bo 


493 


6B83 50 4F 50 
6B86 50 53 57 


DB 


POPPSU 


494 


6B89 F2 FA 


DB 


IF 2, ♦FA 


495 


6B8B 4A 50 


DB 


JP 


496 


6B8D F3 BA 


DB 


♦F3,m 


497 


6B8F 44 49 


DB 


BI 


4<?8 


6B91 F4 FA 


DB 


♦F4,^FA 


499 


&B93 43 50 


DB 


CP 


500 


oB95 F5 AF 


DB 


»F5,$AF 


501 


6B97 50 55 53 
6B9A 48 50 53 
6B9D 57 


DB 


PUSHPSU 


502 


6B9E F6 B3 


DB 


♦F6,*D3" 


503 


6BA0 4F 52 49 


DB 


ORI 


504 


6BA3 F7 B4 


DB 


♦F7,»B4 


505 


6BA5 52 53 54 
6FA8 36 


DB 


RST6 


506 


6BA9 F8 BA 


DB 


♦F8,$BA 


507 


6BAB 52 4D 


DB 


RM' 


508 


6BAD F9 AC 


DB 


♦F9,^AC 


509 


6BAF 53 50 48 
6BB2 4C 


DB 


SPHL" 


510 


6BB3 FA FA 


IB 


♦FA.iFA 


511 


6BB5 4A 4D 


DB 


Jrt 


512 


6BB7 FB BA 


DB 


♦ FB,«A 


513 


6BB9 45 49 


DB 


EI 


514 


6BBB FC FA 


DB 


>FC,»FA 


515 


6BBD 43 4D 


DB 


CM" 


516 


6BBF FD B3 


DB 


♦ F r« , ♦ B 3 


517 


6BC1 2A 2A 2A 


DB 


■ » * t ' 


518 


6BC4 FE D3 


DB 


♦FE F $D3 


519 


6BC6 43 50 49 


DB 


CPI' 


520 


6BC9 FF B4 


DB 


♦FF,$B4 


521 


oBCB 52 53 54 
6BCE 37 


DB 


RST7 


522 




* 




523 


6BCF 


STSCAN DS 


1 


524 




* 




525 


6BD0 41 44 44 
6BD3 42 


OPS200 BB 


AHDB 



526 

527 

528 

529 

530 

531 

532 

533 
534 
535 
536 
537 
538 
539 
540 
541 



6BD4 
6BD7 
6BD8 
6BDB 
6BDC 
6BDF 
6BE0 
6BE3 
6BE4 
6BE7 
6BE8 
6BEB 
6BEC 
6BEF 



41 

43 

53 

44 

53 

45 

41 

48 

58 

4C 

4F 

4D 

43 

41 



44 43 



55 



42 



4E 



52 



52 



4D 



6BF0 49 4E 
6BF3 44 43 
6BF6 4D 56 

6BF9 4D 4F 
6BFC 48 4C 



42 
41 
41 
41 
50 



52 INR 
52 DCR 
49 HVI 

* 

56 rtOV 
54 HLT 



DB 
DB 
BB 
DB 
DB 
DB 
DB 



DB 
DB 
BB 

DB 

BB 



ADCC 
'SUBB 
SBBE 
ANAH 
XRAL 
ORAM 
'CMP A 



'INR 
DCR' 
MVl' 



NOV 
HLT 



END 



SYMBOL TABLE: 



ADDH 

AUTO 

DCR 

GET1 

GR1 

IN4H 

LIN 

MSI 

OUTLI* 

SPACES 

XSCAN 



6F4# 
68B3 
6BF3 
6954 
6916 
6C4C 
6F48 
6DB4 
6874 
698E 
6822 



ADDONE 

CBH 

DECODE 

GET3 

GR2 

INCHR 

MCNT 

HVI 

PDATA 

STACK 



697E 
6971 
68B9 
6960 
693A 
6C1D 
6F3E 
6BF6 
6C03 
6FB0 



ABDR 

CHAR 

DONE 

GETHOR 

HEXL 

INR 

NODE 

NBR 

SCAN 

STSCAN 



6F42 
6856 
6970 
6965 
6C55 
6BF0 
6F3F 
6F47 
6823 
6BCF 



ANOTH 

CONTIN 

ENTER 

GR0 

HEXR 

INST 

HONIT 

OPER 

SP 

TDCR 



687E 
67F4 
67DF 
68D0 
6C59 
6F44 
6EDB 
6F45 
6993 
68E3 



APND 

CRLF 

FOUND 

GR000 

HIT 

ISHOV 

MOV 

OPS200 

SPAC 

THVI 



686C 
6C11 
6833 
6904 
6BFC 
6916 
6BF9 
6BB0 
685E 
68F1 



Note: CONOPS works only with the H8 console driver as originally supplied by Heath. 
The new console driver, used in the H8-18 software package (Heath's #890-3-3), is differ- 
ent and I don't know how to use it yet. 



Main/Frames m 32QO 



Main/Frames 



from 



• 14 Basic Models Available 

• Assembled & Tested 

• Power Supply: 
8v@15A, ± 16v@3A 

• 15 Slot Motherboard 
(connectors optional) 

• Card cage & guides 

• Fan, line cord, fuse, power 
& reset switches, EMI filter 

• 8v@30A, ± 16v@10A 
option on some models 



Rack 

mounted 

from $200 



8" Floppy Main/Frame 
(includes power for drives 
and mainframe) from $365 



Write or call for our 
brochure which includes our 

application note: 
'Building Cheap Computers' 

INTEGRAND 

8474 Ave. 296 • Visalia, CA 93277 • (209) 733-9288 
-We accept BankAmericard/Visa and MasterCharge 



148 Microcomputing January 1980 











f w 





















WHY CUT? 
WHY STRIP? 
WHY SLIT? 

WHY NOT 






ti A 






t 



^y? gliT — JUST WR AP TOOL WITH 

S^ Wg— ■WM_g^ ^ONE 50 FT. ROLL OF WIRE 


COLOR PART NO. U.S. LIST PRICE 


BLUE JW1-B $14.95 
WHITE JW-1W 14.95 
YELLOW JW-1 Y 14.95 
RED JW-1-R 14.95 




-p REPLACEMENT ROLL OF 
■L WIRE 50 FT. 


BLUE R-JW-B 7 „ ft 
WHITE RJW-W 2 98 
YELLOW R-JW-Y 2!98 
RED R-JW-R 2.98 



AWG 30 Wire 

.025" Square Posts 

Daisy Chain or Point To Point 

No Stripping or Slitting Required 

...JUST WRAP ™.„. 

Built In Cut Off < 

Easy Loading of Wire 

Available Wire Colors: 

Blue, White, Red & Yellow 



USA 
FOREIGN 
PATENTS 
PENDING 









DAISY CHAIN 



POINT TO POINT 



^05 



MACHINE & TOOL CORPORATION 3455 CONNER ST., RRONX, N.Y. 10475 (212) 994-6600/TELEX 125091 

•MINIMUM BILLING $25.00 / AD SHIPPING CHARGE $2.00 / NEW YORK CITY / STATE RESIDENTS ADD APPLICABLE TAX. 



Richard ft Parry 
38W255 Deerpath Rd. 
Batavia IL 60510 



Software Clock 

for the 6800 



With this routine, you have instant access to the correct date and time— in ASCII format. 



A000 
§101 
§109 
§300 
§301 

0§00 
0800 
0801 

oftoa 

0§03 
080A 
0§O§ 
0809 
0§0D 
0§0E 
0812 
0813 
0817 
ORIS 
081C 
081D 
0821 

oa?2 

082A 

08?5 
08?6 
0§?7 
08P8 
0829 
082A 

082B 
08?C 
0830 
0831 
0832 
0833 
0834 
0835 
0836 
0837 
0§3§ 
0839 



AS 59 90 

2A 

AD 49 hi 

2A 

S3 45 A3 

2A 

AO AF 20 

2A 

AA Al 09 

1A 

59 52 20 

2A 

20 20 

30 

30 

3A 

30 

30 

3A 

30 

30 

20 20 »0 

20 

30 

30 

If 

30 

30 

2F 

30 

30 

00 OD OA 



• 

IRQ 

PIAODB 
PIAOCB 

ctes 

CI90 



KTIMC 
UDAV1 
T0AY1 

UM8N1 
20 MR 

20 MIS 

2o sec 

2ft MB 

2ft DAY 

2ft YR 

• 

DT 

TMRS 

UHHS 

TMIN 
UMIM 

TSCC 

usee 



SSFTWARe CLBCK PRBQRAM 



2ft 



TMBN 
UMflN 

TDAY 
UDAY 

TYR8 

UYRS 



2a 



eou tAooo 

eou ftAioi 

eOU S8109 

eoU «8300 

eou ci8s*i 

6RQ §800 

RmB 1 

RmB 1 

RMB 1 

RMB 1 

FCC /HR •/ 

FCC /MIN •/ 

FCC /SBC •/ 

FCC /MB •/ 

FCC /DAY •/ 

Fee /VR •/ 



FCC / / 

FCB §30 

FC8 §30 

Fee /t/ 

FCB t30 

FCB «30 

FCC /|/ 

FCB §30 

FCB §30 

FCC / 

FCB «30 

FCB «30 

FCB «2F SLASH 

FCB §30 

FeB S30 

FCB «2F SLASH 

FCB t30 

FCB §30 

FCB •00#«00««OAj •• 



RTA B P8RT DATA REGISTER 

pia cbntrbl ReoiSTeR a psrt 

ACTA CBNTR8L AND STATUS RefllSTfR 

Data resistcR sf aC!a 



VARIAPLC TB C§UNT 60 HZ INTERRUPT 



Listing 1. Assignment of variables for the remainder of the pro- 
gram. A terminal interfaced to an ACIA at $8300 is indicated, as 
well as a PIA at $8101 through which the interrupts are serviced. 
The ASCII time and date sentence is shown beginning at $0822. 



I 20 VAC 




4.7K 
— vw— 



I2VAC 



5.IV 




Fig. 1. The timebase for the software real-time clock can be derived 
from the commercial power line timebase of 60 Hz. The program al- 
lows virtually any other frequency to be used as well. 



Whenever a computer is in- 
terfaced to the real world 
via sensors or a controllable de- 
vice, there is often a need for the 
computer to know what time it 
is. Controlling a particular de- 
vice at a specific time is one 
such use (for example, turning 
home lights on or off). 

Another use might be append- 
ing the time to a particular 
event. My need fell into this lat- 
ter category. In my computer- 
controlled security system, I am 
able to append both the time 
and the date to an event. For ex- 
ample, if the telephone or door- 
bell rings, the event will be noted 
on a printer along with the time 
and date. 

My second need for a real- 
time clock was for an amateur 
radioteletype program. In this 
case, I wanted the computer to 
insert the time and date when I 
typed a particular control char- 
acter. This article is the result of 
my labors and should prove use- 
ful to others, for it is, in some 
ways, a unique real-time clock 
program. 

Program Description 

Three characteristics of the 
program make it unique from 
many of the other articles writ- 



ten on the subject. The salient 
difference between this pro- 
gram and many of the others 
lies in the format in which the 
time is stored. Most programs 
store the time in packed BCD 
form. 

At first, you might think that 
this is an efficient manner in 
which to store the time, for it re- 
quires very little memory. How- 
ever, the disadvantage is that 
several other routines are re- 
quired to retrieve the time, and 
print is in a form that can be 
read on paper. For example, the 
packed BCD digits must be sep- 
arated, converted to ASCII, and 
then colons, spaces, slashes 
and perhaps a carriage return 
and line feed must be added to 
give the necessary readable out- 
put format. 

The format used in this pro- 
gram has all the necessary char- 
acters and commands, and all 
you have to do is access the 
string of continuous addresses 
whenever the time and date are 
required. In essence, this format 
is a sentence that can be ap- 
pended to virtually any event (for 
example, 12:17:36 06/21/79). 

A second characteristic of 
this program is that it contains 
the month, day and year infor- 
mation, which most other pro- 
grams lack. This is a particularly 
important feature for a security 
system or any other continuous- 
ly run system. Only during a leap 
year or a new decade is there a 
need for human intervention. 
However, it's obvious that a lit- 
tle extra programming could ob- 



1 50 Microcomputing January 1980 



viate this requirement. 

The third difference is the way 
in which the time is initialized. 
Most other programs that I have 
seen require the user to access 
particular memory locations 
and insert the time and date in 
packed BCD form employing the 
user's operating system. 

The method used in this pro- 
gram is far simpler and quicker. 
All the necessary prompts are 
given so that there is little 
chance for error. For example, 
the time indicated above could 
have been initialized by the fol- 
lowing: 



HR 


4612 


MIN 


517 


SEC 


36 


MO 


06 


DAY 


21 


YR 


7879 



When the program begins, the 
computer will respond by print- 
ing the HR prompt on the termi- 
nal, at which time the operator 
inserts the hour desired. If you 
make an error, merely continue 
by inserting the correct hour. 
The program has been written to 
accept only the last two digits. 
For example, in the above exam- 
ple, 12 hours rather than 46 will 
be the starting time. Likewise, 
the number of minutes will be 
17, and the year 79. 

When the correct digits have 
been inserted after a particular 
prompt, a carriage return will 
bring up the next prompt. The 
program has been written so 
that only valid ASCII numbers 
will be accepted, in other words, 
alpha or control characters will 
not be inserted or echoed back 
to the terminal. The carriage re- 
turn after the YR prompt will 
clear the interrupt mask bit, 
which was set upon entrance in- 
to the program, and the MPU will 
begin servicing interrupts. 

Therefore, the time can be ini- 
tialized, and when that moment 
actually occurs, a carriage re- 
turn command will synchronize 
the program with the real time. 
Since an IRQ interrupt, rather 
than an NMI interrupt, is used, 
there is no need to inhibit pulses 
during the loading or initializa- 
tion of the program. 

Finally, the program does not 
make any calls to the user's op- 
erating system subroutines 
such as MIKBUG's OUT2HS or 
PDATA1. For this reason, the 



program is independent of the 
user's operating system, and, 
therefore, it should be compati- 
ble with virtually any system us- 
ing the 6800. 

With initialization complete, 
the program branches to the 
CHRIN subroutine, which waits 
for a character from the termi- 
nal. If the character is a T, the 
time and date sentence is print- 
ed. This is the clock demon- 
stration routine and is included 
for testing purposes. When the 
user is satisfied with the opera- 



tion of the program, control 
should be transferred to the us- 
er's main program rather than 
the clock demonstration rou- 
tine, which begins at $0869. 

Hardware 

Before you implement a real- 
time clock, you should first de- 
termine whether it will be a hard- 
ware or software clock. Each 
has its advantages and disad- 
vantages. Briefly, the salient ad- 
vantage of the software clock is 
the cost. Since there is virtually 



no hardware required, there is 
essentially no cost involved. On 
the other hand, a software clock 
does require more memory than 
a hardware clock, and it typical- 
ly uses more of the computer's 
time. This impediment is so 
slight as to be nonexistent 
(more on this later). 

The hardware clock is more 
advantageous when the com- 
puter is not run continuously, 
since loading and initialization 
are not required each time the 
computer is turned on. Since my 



( IRQ ) 



INC 
IRQ 
COUNTER 




INC UNIT SEC 
a CLR IRQ 
COUNTER 






NO 



CLR UNIT SEC. 

a 

INC. TENS SEC 





NO 



CLR TENS SEC 

a 

INC UNIT MINS 





CLR TENS HRS 
CLR UNIT HRS 
INC UNIT DAYS 



I 1 

| DOES UNIT I 

| DAY INDICATE (-- 
| END OF MO 

I J 

I 1 

| DOES TENS | 

DAY INDICATE |_. 
| END OF MO 

I I 






CLR UNIT 
HRS a 
INC TENS 
HRS 





NC 



NO 




SET UNIT DAY 
TO 1 

CLR TENS DAY 
INC UNIT MO 



NO 



CLR UNIT MIN 

a 

INC TENS MIN 





CLR TENS MIN 

a 

INC UNIT HRS 







CLR UNIT DAY 

a 

INC TENS DAY 




NO 



YES 




SET UNIT MO 
TO 1 

CLR TENS MO 
INC. UNIT YRS 



I 



CLR UNIT MO 

a 

INC TENS MO 



CONVERT 
UNIT MO a 
TENS MO. TO 
2 PACKED 
BCD BYTE 



^^MONTH ^V 


YES 












^xL/^ 


YES 








JNO 

^^MONTHN. 

V v 4 6 9 11 ^ 






SET MONTH 
OVERFLOW 
REFERENCE 
TO 29 DAYS 
















Tno 


SET MONTH 
OVERFLOW 
REFERENCE 
TO 31 DAYS 






SET MONTH 
OVERFLOW 
REFERENCE 
TO 32 DAYS 












' 


, 


L 





















Fig. 2. Flowchart for the main portion of the program shown in listing 3. This, together with the com- 
ments in the listings, should allow non-6800 owners to design a similar program. Note that all variables 
are in ASCII and that, basically, the program checks for an overflow condition of the variables. For exam- 
ple, if units of seconds overflows from 9($39) to :($3A), there will then be a need to reset units of seconds 
back to 0($30) and increment tens of seconds and check for an overflow of 6($36). 

Microcomputing January 1980 151 



security system computer is on 
continuously, the advantages of 
the software clock outweighed 
the disadvantages. 

After deciding on a software 
clock, you must ask if the non- 
maskable interrupt (NMI) or the 



interrupt request (IRQ) line of 
the 6800 should be used. Once 
again, each method has advan- 
tages and disadvantages. 

The NMI interface method 
does not require an additional 
IC, such as a peripheral inter- 



face adapter (PIA), since it inter- 
faces directly to the 6800. How- 
ever, this method can cause 
problems in some applications. 
For example, if an ongoing pro- 
gram uses the MPU for timing 
loops, the accuracy of the tim- 



0AR0 






ORG 


• 850 


0850 


OF 


BESTS 


Sf I 




0851 


CF 090r> 




LDX 


•START 


0A5* 


FF A00O 




STX 


IRQ 


0857 


*F 




CLRA 




0858 


97 080n 




STAA 


KTIMF 


085B 


97 8109 




STAA 


PTAOCB 


085E 


97 8101 




STAA 


PIAODB 


0861 


86 05 




LDAA 


• 5 


0863 


97 8109 


it 


STAA 


PTAOCB 


0866 


80 OF 


• 


BSR 


INITTM 


0868 


OF 




CLI 




08*9 


80 65 


# 

AGATN 


BSR 


CHRIN 


0**8 


81 5* 




CMPA 


• •T 


086D 


P6 FA 




BnE 


AQAlNl 


086F 


CF 0822 




LDX 


*DT 


0872 


80 A3 




BsR 


C9X 


087* 


20 F3 




BRA 


AGAIN 


0876 


80 6A 


• 

INTTTM 


BSR 


CRLF 


0878 


CF 080* 




LDX 


«HR 


087B 


«0 3A 




BSR 


cox 


087D 


CF 082* 




LOX 


• THRS 


0880 


8D 5A 




BSR 


TIMEIN 


0882 


CF 0809 




LOX 


• MjN 


0885 


80 30 




BSR 


C9X 


0887 


CF 0827 




LDX 


• TMIN 


0888 


AD 50 




BSR 


TIMEIN 


088C 


CF 080E 




LOX 


*SEC 


088F 


8D 26 




BSR 


C9X 


0391 


CF 082A 




LOX 


*TSEC 


089* 


80 46 




BSR 


TIMETN 


0896 


CF 0813 




LOX 


• MO 


0899 


8D IC 




BSR 


COX 


089B 


CF 0831 




LDX 


• TMON 


089E 


80 3C 




BSR 


TIMEIN 


08A0 


CF 0818 




LOX 


• DAY 


08A3 


80 12 




BSR 


CBX 


0885 


CF 083* 




LOX 


• TDAy 


08A8 


80 32 




BSR 


TIMEIN 


08AA 


CE 081H 




LOX 


• VR 


08AD 


80 08 




BSR 


COX 


0RAF 


CF 0837 




LDX 


• TYRs 


08B2 


80 28 




BSR 


TIMEIN 


08B4 


7E 09C* 




JMP 


MTEST 


08B7 


A6 00 


CSX 


LDAA 


0#X 


08B9 


81 2A 




CMPA 


• »• 


08BB 


27 05 




BFQ 


fnd 


0«B0 


80 0* 




BSR 


CO 


08BF 


08 




INX 




08C0 


?0 FS 




BRA 


cox 


08C2 


39 


END 


RTS 




08C3 


36 


CO 


P8HA 




08C* 


96 8300 


cat 


LDAA 


CI8S 


08C7 


85 0? 




BTTA 


• 2 


08C9 


27 F9 




BrQ 


C01 


08CB 


9? 




PULA 




08CC 


97 8301 




STAA 


CIBD 


08CF 


39 




RTS 




0800 


96 8300 


• 

CHR T N 


LDAA 


CI9S 


0803 


*7 




ABRA 




080* 


?k fa 




BCC 


CHRIM 


0806 


96 8301 




LDAA 


CI8D 


0809 


A* 7F 




ANDA 


• •7F 


080B 


39 




RTS 




080c 


80 F2 


TIMEIN 


BSR 


chrin 


08DE 


81 00 




CMPA 


•too 


08E0 


26 09 




BNE 


NUMBpR 


08E2 


86 OA 


C9LF 


LDAA 


••OA 


08E* 


80 00 




BSR 


CO 


0ft£f> 


86 00 




LDAA 


••00 


08C8 


80 09 




BSR 


CO 


08EA 


39 




RTS 




08EB 


36 


NUMBER 


PtHA 




osrc 


89 Fo 




ANDA 


••FO 


08EE 


88 30 




EBRA 


•«30 


08FO 


27 03 




BCD 


AHEAD 


08F2 


32 




PULA 




08P3 


20 E7 


jt 


BrA 


TIMEIN 


08P5 


A6 01 


AHEAD 


LDAA 


1#X 


0«F7 


A7 00 




STAA 


O'X 


08F9 


32 




PULA 




08FA 


A7 01 




STAA 


1*X 


08FC 


80 C5 




BSR 


CO 


08FE 


20 DC 




BRA 


TIMETN 



iRO interrupt vectored address 

INTIAlIZE 60 HZ INTERRUPT COUNTE* 

GET DDR 

B PORT OF PTA ALL INPUTS 

ENABLE CBi INTERRUPT 

GO INITIALIZE TIME 



go watt for character from tty 

is it a rfcuest for time character 

branch if nat a request for time 

gft ready ta print time 

g8 print the 

continue waiting for command t9 print 

print cr and i f 

gft present ward to print 

print chr, in index reg. untii • 

starttnq location to put charatters 

go get charactfrs 

gft present w*rd to print 

print chr. in index reg. until • 

starting location to put characters 

ga get characters 

gft present w9rd to print 

print chr. in index reg. untii • 

starting location to put characters 

ga get charactfrs 

gft present w8rd to print 

print chr. in index reg. until • 

starting location to put characters 

go get charactfrs 

get Present wopd to print 

print chr. in index reg. until. * 

starting location to put characters 

ga get charactfrs 

gft Present ward to print 

PRINT CHR. IN INDEX REG. UNTH • 
STARTtNG LOCATION TO PUT CHARACTERS 

ga get charactfrs 
set Overflow to msnth 

GfT ChARACTFR TO PRINT 
IS IT END »• 

IF ENO*RETJRN 

IF NOT END. PRINT CHARACTERS 

GO GET ANOTHER CHARACTER 
RETURN 



IS ACTA READY 



RFTRIrVF DIGIT 



HAS A CHARACTER COME IN 

CONTINUE IF ACTA HAS NO CHARACTER 

GrT Character from acta <tty) 



GO GET A CHARACTER FROM TTY 
IS IT CR 

CONTINUE IF NRT A CR 
ROUTINE TO PRINT CR AND LF 
PRINT LF 

PRINT CR 

RETURN IF IT TS A SPACE 

SAVE CHARACTER 

F8RCE LOW ORDCR NIBBLE TO ZERO 

IS HlnH ORDER NIBBLE 3 

branch if character is an ascii njmbfr 
it is not an ascii number 
cantlnue waiting for a number 

get other otgtt 

stare digit at next location 

RftRIfve NFW DIGIT 

stare new diqtt 
print new oigtt 



TIME 



I 



Listing 2. Initialization portion of the program ($0850) where the program begins. This routine gives 
the operator the necessary prompts to insert the hours, seconds, minutes, etc. With the initialization 
complete, interrupts are enabled and the program waits for a "T" from the keyboard, at which time 
the time and date sentence is printed. This portion of the program may be removed. 



ing loop will be impaired due to 
the overhead time of the clock 
program. 

A second deficiency of this 
method lies in the fact that there 
must be a means of disabling 
the interrupts (i.e., a switch) until 
the program is loaded. This can 
be partially overcome by burn- 
ing the program into ROM, but 
then other problems arise since 
the NMI vectored address must 
also be in nonvolatile memory. 
While this is certainly possible, 
the flexibility of the computer 
system would be slightly im- 
paired. Finally, a typical system 
has several IRQ inputs, but only 
one NMI input. Therefore, the 
NMI cannot be used for other 
purposes. 

For these reasons, I used a 
"soft" interrupt (IRQ) via a PIA. 
More specifically, as shown in 
Fig. 1, the interrupts were inter- 
faced via the CB1 control line of 
the PIA. The data register of the 
B port of this PIA is at $8101 , and 
the control register is at $8109. 
Of course, any PIA can be used 
with the necessary addresses 
altered in the program. The pro- 
gram assumes that the sys- 
tem's terminal is interfaced to 
the MPU via an ACIA with con- 
trol and status register at $8300, 
and the data register at $8301. 

The timebase for the inter- 
rupts is derived from conven- 
tional 60 Hz commercial power. 
While virtually any timebase can 
be used, this timebase source 
has the advantage that it is ac- 
curate, reliable and readily avail- 
able. Fig. 1 gives the details of 
the timebase circuit. A 12 V ac 
transformer is indicated, but a 
standard 6.3 V ac filament trans- 
former should prove equally ac- 
ceptable. The 7414 is a Schmitt 
trigger inverter, which provides 
the necessary hysteresis to pre- 
vent false interrupts due to 
power-line fluctuations. 

The output of the circuit is a 
clean, TTL-compatib\e s\gr\aA a\ 
a 60 Hz repetition rate. The soft- 
ware provides the necessary di- 
viding to give a 1 Hz timebase 
for seconds. Note that the com- 
puter system will be more effi- 
cient with a lower interrupt rate. 
For example, assuming a 1 MHz 
MPU clock frequency, each time 
an interrupt occurs, approxi- 
mately 100 microseconds are 



152 Microcomputing January 1980 



used by the software clock rou- 
tine. Thus, during a one-second 
period, the computer is called 
upon for 6 ms (.6 percent) to ser- 
vice the clock program. If you 
add an external hardware divid- 
ing circuit, such as a divide by 60 
(i.e., Motorola MC14566) to give 
an interrupt only once a second, 
the 6 ms ot overhead time will be 
reduced to 100 microseconds 
(.01 percent). 

You can decide for yourself if 
the reduction in time is worth 
the extra effort of adding addi- 
tional hardware. Bear in mind 
that the 100 microseconds of 
overhead time discussed above 
is an average. The worst case is 
approximately 400 microsec- 
onds, which occurs at the end of 
the year when all the variables 
roll over. 

Software 

The flowchart (Fig. 2) and the 
comments in the listings should 
be enough to give an explana- 
tion of the workings of the pro- 
gram. There are, however, a few 
points worthy of further clarifi- 
cation. When an interrupt oc- 
curs, the current status of the 
MPU is saved on the stack. The 
MPU then jumps to the location 
stored in location $FFF8 and 
$FFF9. In most systems using 
the 6800, this information is in 
nonvolatile memory. Therefore, 
the MPU is directed to another 
address in volatile memory, usu- 
ally $A000 and $A001. 

The second and third instruc- 
tions in the program shown in 
Listing 2 show how $A000 and 
$A001 are initialized. In a system 
using multiple interrupts, the us- 
er will wish to alter this address 
to allow control to be trans- 
ferred to an interrupt polling 
subroutine, which determines 
the origin of the interrupt. 

As shown in Listing 1, the 
time and date sentence starts at 
location $0822 and ends at 
$083C. The last character is an 
asterisk (*), which is used as the 
end of transmission character. 
The subroutine COX prints the 
characters until it detects the 
asterisk and then returns. The 
number of spaces between the 
time and date, as well as the en- 
tire format of the sentence, may 
be altered, but this may require 
that the program be reas- 



Listing 3. Heart of the software clock (see Fig. 2). Each time an interrupt occurs, the MPU is vectored 
to location START ($0900). If 60 interrupts have not occurred, the MPU will immediately return from 
the interrupt. However, if 60 interrupts have been counted, execution will continue and the time and 
date will be updated as necessary. If a timebase other than 60 Hz is used, merely change the operand 
of the CM PA instruction at location $0909. 

CLFAR INTERRUPT FROM »IA 
ADO OnE TB INTERRUPT C8UNTFR 

WATT F8R AD INTERRUPTS 

IF 40 INTERRUPTS PASSED GO TO CLOCK PROGRAM 

ADD OnE TB JNTT SECBNDS 
LBAQ ACC A WITH UNIT SECONDS 

UNTT SECBNOS BVERFLOw* 30 TNC T SECS 

INCREMENT TEN9 8F SECONDS 

tens bf secsnds overflow* tnc u min 

INCREMENT UNIT MINUTES 

UNTTS MlNyTES OVERFLOW, INC T MlN 

increment tens 8f minutes 

tens af mtnutfs overflow* tnc u hrs 
increment unit hburs 



0900 86 8101 


START 


L0AA 


PIA00B 


0903 7C 0800 




INC 


KTIMe 


0906 36 0800 




L0AA 


KTIME 


0909 81 3C 




CMPA 


• 60 


090B 27 01 




BEQ 


CLOCK 


090D 3B 




RTI 




090E 7F 0800 


CL8C< 


clr 


KTIME 


0911 C6 30 




LOAB 


#930 


0913 7C 082R 




INC 


USEC 


0916 36 0823 




L0AA 


USEC 


0919 88 3A 




EBRA 


• •3A 


0918 27 01 




BFQ 


ITSEC 


091D SB 




RTI 




091E 7C 082A 


ITSFC 


INC 


TSEC 


0921 F7 0828 




STAB 


USEC 


092* 36 082a 




L0AA 


TSEC 


0927 88 36 




EBRA 


••36 


0929 27 01 




BFQ 


IUMIN 


092B 3B 




RTI 




09?C 7C 0828 


IUMTN 


INC 


UMIN 


09?F P7 082A 




STAB 


TSEC 


0932 36 0828 




L0AA 


UMIN 


0915 88 3A 




EBRA 


• •3A 


0937 27 01 




BFQ 


ITMIN 


0939 38 




RTI 




093A 7C 0827 


ITMTN 


INC 


TMIN 


0930 C7 0828 




STAB 


UMIN 


09*0 3A 0827 




LDAA 


TMIN 


0943 88 36 




EBRA 


• •36 


09*5 27 01 




BEQ 


IUHRS 


09*7 3B 




RTI 




09*8 7C 0825 


IUHRS 


INC 


UMRS 


09*B P7 0827 




STAB 


TMIN 


09*E 86 0825 




LDAA 


UMRS 


0951 81 34 




CMPA 


• A3* 


0953 27 0C 




BFQ 


ISIT? 


0955 81 3A 




CMPA 


• •3A 


0957 27 01 




BEQ 


ITHRS 


0959 38 




RTI 




095A 7C 082* 


ITMRS 


INC 


TMRS 


0950 F7 0825 




STAB 


UMRS 


09A0 3B 




RTI 




09A1 B6 082* 


ISIT? 


L0AA 


TMRS 


09A* 81 32 




CMPA 


• •32 


09A6 27 01 




BEQ 


IUDAV 


0968 3B 




RTI 




09A9 7C 0835 


IUDAY 


INC 


UDAY 


09AC F7 082* 




Stab 


TMRS 


096F F7 0825 




STAB 


UMRS 


0972 86 0835 




L0AA 


UDAY 


0975 Bl 0801 




CMPA 


UDAYi 


0978 27 0C 




BEQ 


ISIT3 


097A 81 3A 




CMPA 


• •3A 


097C 27 01 




BEQ 


ITDAY 


097E 3B 




RTI 




097F 7C 083* 


ITDAY 


INC 


TDAY 


0982 F7 0835 




STAB 


UDAY 


0985 3B 




RTI 




0986 86 083* 


ISIT3 


L0AA 


TDAY 


0989 81 0802 




CMPA 


TDAYi 


098C 27 01 




BFQ 


NFWMB 


098E 3B 




RTI 




098F 7C 0832 


NEWM8 


INC 


UMBN 


0992 F7 0838 




Stab 


UDAY 


0995 7C 0835 




!\C 


UDAY 


0998 F7 083* 




STAB 


TDAY 


099B 36 0832 




LDAA 


UM8N 


099E 81 33 




CMPA 


• •33 


09A0 27 00 




BFQ 


ISIT* 


09A2 81 3A 




CMPA 


• «3A 


09a* 26 06 




BNE 


C0NT1 


09A6 7C 0831 




INC 


TM8N 


09A9 F7 083P 




STAB 


UMBN 


09AC 8D 16 


C0NT1 


BSR 


MTEST 


09AE 3B 




RTI 




09AF *6 0831 


ISIT* 


LDAA 


TMON 


09B2 81 31 




CMPA 


• 931 


09B* 26 F6 




BNE 


CBNTi 


0986 7C 083« 




INC 


UYRS 


0969 F7 0832 




STAB 


UM8N 


C9BC 7C 0832 




INC 


UMBN 


09BF F7 0*31 




Stab 


TmBN 


09C2 20 E8 




BRA 


C8NT1 




• 


FflRM ? 


PACKED BrD 


09C* 36 0831 


MTEST 


LDAA 


TMBN 


09C7 C6 083? 




LOAB 


UM8N 


09CA C* OF 




ANDB 


♦ •OF 


09CC F7 0801 




STAB 


UM8N1 


09CF 48 




A8LA 




0900 *8 




A8LA 




09D1 *8 




AILA 




0902 *8 




ASIA 




0903 3A OMOl 




0RAA 


UM8N1 


0906 31 02 


FEB 


CMPA 


• 2 


0908 ?6 02 




BNE 


APRIL 


090A ?o 21 




BRA 


MB28 


090C 81 0* 


APRIL 


cmpa 


• * 


090E 2A 02 




One 


JUNE 


09F0 20 26 




BRA 


M830 


09F2 gl 06 


JUNE 


CMPA 


•6 


09F4 26 02 




BnE 


SEPT 


09E6 20 20 




BRA 


M830 


09F8 81 09 


SEPT 


CMPA 


• 9 


09FA ?6 02 




BNE 


N6V 


09EC 20 1A 




BRA 


MB30 


09EE 81 11 


N8V 


CMPA 


••11 


09F0 27 16 




BFQ 


M830 



UNTT M8URS BVrRFLBW, INC T BF MRS 
INCREMENT TENS 8F MBURS 

TENS BF HfHJRS BVERFLBW, INC U DAY 
INCREMENT UNIT OF DAYS 



LBaD ACC A WITH UNIT DAY 

DBES UNIT DAY INDICATE END BF M8NTM 

BRANCH, UNTTS OF DAY INDICATE END OF MONTH 

TENS BF DAYS 8VERFL0W 



RESET UDAY TO 

LBAD ACC A WITH TDAY 

DBFS TEN BF DAY INDICATF END BF MBNTH 

NFW MftNTH 



Reset day tb the beginning bf mbnth 

Reset day tb beginning bf mbnth 

dbes units bf m8nth indicate end bf year 



WHAT TS Thf NUMBER BF DAYS IN NEW M8NTH 



INCREMENT JNIT OF YEARS 

RESET TB FIRST M8NTM BF NEW YEAR 

Rest tb first mbntm or new year 

DIGITS FRBM UNITS BF MB, AND TENS BF MB. 
SET btts *«5'6« and 7 TB zerb 



SET TB MBNTH WITH 28 OAVS 



SET TB M8NTM WITH 30 OAYS 



SET TB MONTH WITH 30 DAYS 



SET T« MONTH WITH 3o OAYS 



Microcomputing January 1980 153 









• 






IF THfRC 18 He MATCH, IT MU8 








• 






mtth 31 Days 








• 






M9NTHS THAT HAVC 31 DAYS ARC 








• 






JAN* MARCH. MAY, JULY* AUG, 


09F8 


86 


39 


M831 


LDAA 


• •38 




09F* 


87 


0801 




STAA 


UDAYi 




09F7 


86 


33 




LDAA 


• •33 




09F9 


87 


0*02 




STAA 


TDAYi 




09FC 


39 






RTS 






09FD 


86 


39 


M8JH 


LDAA 


#•39 


FEBRUARY 


09FF 


87 


0801 




STAA 


UOAYl 




0A02 


86 


3> 




LOAA 


•932 




0*0* 


87 


0802 




STAA 


T0AV1 




0A07 


39 




* 
• 


KTS 




H8NTHg THAT HAVE 30 DAYS ARE 
APRIL. JUNE. SEPT. NOV 


OAOS 


86 


31 


M830 


LOAA 


• •31 




OAOA 


87 


0801 




STAA 


U0AY1 




OAOD 


86 


33 




LOAA 


• 933 




OAOF 


87 


080? 




STAA 


TOAYi 




0A12 


39 






RTS 






0A13 






END 









T 8E A 
BrT* DEC 



H8HTH 



sembled, depending on the na- 
ture of the change. 



As previously stated, the in- changed to virtually any value, 
terrupt frequency can be For example, if the 60 Hz time- 



base is reduced to 15 Hz, simply 
change the operand value of the 
CMP A instruction at $0909 from 
60($3C)to15($0F). 

The program requires slightly 
over 1/2K of memory, and execu- 
tion starts at $0850. Reassem- 
bling the program at $0000 
would improve the efficiency, 
since the 6800 could then use 
direct addressing. This has an 
advantage since it would de- 
crease the program's overhead 
time, as well as reduce the 
amount of memory required. ■ 



* WP 6502 • 



word processing system for most 6502's 



OSI Cl & cz 



available 
now! 



(Pet, Apple and OSI-C3 versions Jan 1 ) 

OUTPERFORMS OSI's $200 SYSTEM YET WP-6502 SELLS 
FOR ONLY $75! 

• Global editing with echo-checking and 200+ character 
insertion. 

• Fully menu-driven. You'll read the manual only once! 

• Cursor-controlled screen edit with unlimited insertions. 

• Conforms to standard AP and Thesis style. 

• All in assembler. Usable in machines from a 4K tape-based 
CI to full disk systems, (all in one version) 

• Keyboard not restricted by OSI's shift-lock right/left shift 
conventions. Just like a "real" keyboard. 

• Use any printer and any I/O devices supported by your 
machine. 

• WP-2 files easily converted to full-power WP-6502! 

Send $75 for same-day shipment (specify tape or disk 5" 
or 8") or send $2 (refundable) for the full operations manual. 




Dwo Quong Fok Lok Sow 
37 1 Broome St. 
NY, NY 10013 ^ D67 




T 
O 

R 

Ia 
s 

IY 

S 
T 
E 

IM 
S 

I 

N 



y 



Soroc 120 $790 

Soroc 140 $1260 

Hazeltine 1400 $685 

Hazeltine 1410 $780 

Hazeltine 1500 $999 

Intertube $764 

Perkins- Elmer /Bantan. . $775 



Call about our fantastic price on 

4-drlve complete system. 
'Level II 4K $557.10 

Level III 6K $750.00 

(w/o num. keypad) 

Expansion Interface $ 2 69 .00 

Expansion Interface 1 6K $42 3.O0 

Expansion Interface 3 2 K $524. 00 

1 6K Memory Kit for TRS-80 or Apple 

$89.95 

TRS-80 & NORTH STAR ADD-ON DRIVES 




CUSTOM 
ENCLOSURE 




CABLE 
INCLUDED 



Shugort SA 400 or DASF 6106 single drive system in custom enclosure $4 1 5.00 
Double drive system in custom enclosure $825.00 



DASF 6106 40 trock. drive only $299.00 

Shugort SA 400 $315.00 

Seomonfi" drive $399.00 

HAZELTINE 1400. WHILE SUPPLY LASTS! (16 MONTH WARRANTY). . . . $649.95 

Centronics P1 printer (TRS-80 odd-on) $398.95 

Centronics 779-2 troctor (TRS-80 odd-on) $ 1049.95 

Tl printer $1599.00 

Horizon 1 Kit $1339.00 

Single tier wolnut Formico enclosure for SA 400 or DASF drive $27.00 

Two tier wolnut enclosure for SA 400 or DASF drive $45.50 

Verbatim mini disks, 5-1/4". box of 10 $3.20 per disk 

Dox of 10. 8" disks S3.95 per disk 

• • MAIL ORDER ONLY * • 

INTERTUBE TERMINAL 
$784.00 




WE ACCEPT BANK AMERICARD, VISA, MASTER CHARGE 



ASTORI 



(212)728-5252 



TRS-80 Level II 

16K, exp. I/O $1199 

32K,exp. I/O $1270 

Sorcer-Exidy 

16K system $1095 

32K system $1270 



24 HR. ORDER SERVICE 

Ph (219) 293-4316 Mon-Sat 

EHS7 nJCAQ 



P.O. Box 621 
Bristol, IN 46507 



^M94 



Comprint 912 $529 

Heath WH-14 $749 

Centronics? 7 9 $995 

Dec LA36 $1345 

Nee 5510 $2455 

Qume Sprints/45. . . . $2999 
TI 810 $1650 



Cromemco 

ZPU(kit) $279 

Z-2(kit) $545 

Z-2D(kit) $1295 

System 2 $3399 

System 3 $4799 

Multi-user basic $700 



HANDLING Terminals add 37c for 

shipping or freight collect 

TO ORDER Send certified check or 
M.O. For personal or 
business allow 2 weeks 

INDIANA RESIDENTS add 4 r A 



154 Microcomputing January 1980 



SUPER SPECIAL 

Apple II 16K 

$999.99 




INTRODUCTORY 
OFFER 



TEXAS INSTRUMENTS 
Tl 99/4 



$1099 




The Computer Stop 

16919 Hawthorne Blvd. 

Lawndale. CA 90260 

(213)371-4010 ,^C147 



SAT. 



10 - 6 



nm n+iool 



uppuuiuuiiu 



BOOT- 
STRAP 



TURN ON YOUR TRS-80 DISK SYSTEM AND GO 
RIGHT INTO YOUR BASIC PROGRAM— YOUR 
TRS-80 WILL LOAD AND RUN PROGRAMS— BY 
ITSELF! Yes, with this unbelievable program your 
computer will take command of itself whenever 
power-on or reset is pressed. Go from DOS all the 
way into your Basic program, execute DOS or Basic 
commands, load and execute any machine-language 
programs or subroutines you need (such as printer 
drivers, machine language sorts, etc.), set your file 
butters and memory size, then run any Basic pro- 
gram you want, without lifting another finger! 
BOOTSTRAP'S custom files make turn-key end-user 
applications simple! Requires disk system, works 
with DOS 2.1, 2.2 and NEWDOS, completely docu- 
mented for easy implementation. $15.95 

PRACTICAL APPLICATIONS™ (415) 592-6633 

1313 Laurel St., Suite 15, San Carlos, CA 94070 

□ Please send me TRS-80 BOOTSTRAP " P76 
($15.95 each enclosed. Calif, residents add tax). 

□ Send your catalogs. 

Name 



Address 

City 

TRS-80 is a trademark of Tandy Corp 



State 



Zip 



K-180 



Analog I/O For Microcomputers 




* 
* 
* 



ANALOG I/O 802 

The Analog I/O 802 card is a complete analog interface for your 
microcomputer. It consists of an 8 channel A/D and 2 channels of 
D/A. Interesting features include: 

Bipolar analog inputs and outputs ±_5 volts full scale. 

500 conversions per sec (A/D), 2 micro-sec settling time (D/A). 

Low power, 50 MA typical from ±12 volt supply. 

* Requires only 2 I/O ports to interface to your microcomputer. 

* On board voltage regulators. 

* Supplied with connector, sockets for IC's. 

* Ready to use when you receive it. 

* 10 Meg input impedance (A/D), latched D/A converters. 

* Packaged on 4.25"x3.75" PC card. 

* 8 bit accuracy for A/D and D/A. 

* Gold plated PC board contacts. 

* Address decode for A/D. 

* Assembled and tested, price $115.00. 

The ANALOG I/O 802 is easily interfaced to microcomputer I/O 
ports including: the 6820, 6520, 6530, 6522, 3850, 3851, 8755, 8212, 
etc. 

Optimal Technology, Inc. 

Blue Wood 127, Earlysville, VA 22936 

Phone (804) 973-5482 "Oio 



BASF 
6106 






ft 



5.25 

FLOPPY DISK 
DRIVE 

• 40 Track, single or double 
density 

• Smaller size. Fit 3, 6106 
drives into the space of 2 • Track to track access 
SA 400 drives time: 12 MSEC. 



• Requires less power, 
generates less heat 

• Uses ball bearing friction 
free head positioner 



• Uses industry standard 
interface and power 
plugs, and mounting 
points. 



ALL THE ABOVE FEATURES AND MORE FOR ONLY 

$299.00 ea. 

FOR MORE INFORMATION CONTACT: 

OTTO ELECTRONICS 

P.O. BOX 3066, PRINCETON, NJ 08540 
^09 or call 609-448-9165 

MC, VISA, COD accepted NJ residents add 5% sales tax Shipping and insurance extra 



%S Reader Service — see page 227 



Microcomputing January 1980 155 



fff 



vvv. 




FASTER— The DS120 prints at up to 165 cps and maintains true 1200 baud throughput This translates into lower costs in 
computer time as well as time savings for you A 1000 character internal print buffer virtually eliminates the need for fill 
characters 

SMARTER— Our microprocessor control intelligently optimizes carriage movement by printing bidirectionally and auto- 
matically executing high speed tabs over any blank spaces in the text 

MORE VERSATILE— We offer more standard features than any 1200 baud teleprinter currently available A complete list of 
forms control and formatting features are programmable from the keyboard or via the data stream The DS120 is 
equipped with both an EIA RS232-C interface and a 20 mA Current Loop interface The unit communicates using the 1 28 
character ASCII set at baud rates from 1 10 to 4800 Full-duplex, half-duplex and echoplex modes may be selected from 
the keyboard The controller supports half-duplex transmission using both coded-character turn-around and reverse 
channel protocol 

EASY TO INSTALL, EASY TO USE— The DS 1 20 replaces your LA36 logic card in a matter of minutes and is fully compatible 
with the existing electronics A comprehensive Users Manual provides detailed instructions for installation and 
operation 

RELIABLE— Our performance and reliability have been field proven in over 2500 installations. 

INEXPENSIVE — BUT NOT CHEAP— Although the DS120 is |ust about the lowest cost way to print at 1200 baud, we don t 
cut corners on quality The DS120 is built for years of service using pretested, high reliability components from leading 
manufacturers Each unit undergoes a 48 hour test cycle before shipment and carries a 90 day warranty on materials and 
workmanship 

AVAILABLE - We can deliver typically within 30 days after receiving your order Our stocking distributors are con- 

veniently located in mapr cities throughout the U S for even better delivery 

DATASOUTH COMPUTER CORPORATION .xdbs 

627-F Minuet Lane«Charlotte. North Carolina 28210* 704/523-8500 
DECWWTER' is a ragisMrad trade™* ot Digital Equipment Corporation Instaltaaon ot the DS 120 wiM void any DEC warranty or service contract 



TRS-80® BUSINESS SOFTWARE 

Why not buy THE GENUINE ARTICLE??? 

The Osborne & Associates applications (Payroll with Cost Accounting, Accounts Pay- 
able & Accounts Receivable, and General Ledger) are on their way to becoming the 
standard applications software in the microcomputer field. 

The genuine O&A software is written in CBASIC® for the CP/M® Operating System. 
Any other combination of language and operating system represents a reprogramming 
effort. . .for the TRS-80, Model I, several organizations have done such a reprogram- 
ming in Disk BASIC under TRSDOS. These packages have certain drawbacks such as 
having some features of the application removed. In addition, the fact that they are writ- 
ten in a source interpreter BASIC causes the comments in the source programs (if these 
are distributed at all) to be removed in the interest of saving space and execution time 
Since CBASIC is a compiled language, comments cost nothing (in either space or execu 
tion time) in the executable version of the file— but such comments are invaluable in the 
later program maintenance and modification that is always required on applications soft 
ware. Without having such comments, it is easy to spend many times the cost of the soft 
ware on just one modification/maintenance effort. A buyer should take this into con 
sideration when looking at the apparent cost of the package. The CBASIC source pro 
grams we sell are heavily commented to aid the programmer. 

Our programs are THE GENUINE ARTICLE. . .the CBASIC source code as de 
veloped by Osborne & Associates. We furnish the buyer BOTH the TRS-80, Model I ver 
sion (requires a 48K Model I with two or more disks) AND the unmodified 8" version (for 
later use on the TRS-80, Model II or other 8" CP/M system). . .at no extra charge. By 
using our DOWNLOAD program, it is possible to start using the applications on the 
Model I, and then when the Model II is up and running at a later date, download the data 
files from the Model I to the Model II and keep running the same applications without 
disrupting your operation. 

The Osborne & Associates books have been rewritten to reflect the CP/M, CBASIC 
versions of the applications. These books can be purchased either from your local 
computer store or from us directly. We can see no percentage in your buying other than 
THE GENUINE ARTICLE. . .which is what we sell. . .the Osborne & Associates 
source programs in CP/M and CBASIC. 

CP/M Operating System 5 1 50 00 

CBASIC Compiler ^ °° 

O&A Payroll w/Cost Accounting ipR'AA 

O&A Accts. Rec/Accts. Payable 250 00 

O&A General Ledger w/Cash Journal 250 .00 

O&A CBASIC books for above (each) 15 00 

DOWNLOAD program 95.00 



"^i 



TRS 80 is a registered trademark of Radio Shack, a Tandy company 
CP/M is a registered trademark of Digital Research 
CBASIC is a registered trademark of Software Systems 




^C129 



I 
N 



C S 



8041 NEWMAN AVENUE • SUITE 208 • HUNTINGTON BEACH. CALIFORNIA 92647 • (714)848 1922 




Adventure 




nternalionali^ 

"Highest rated games are the Adventure games' 

Robert Purser Edition 7 CCR 

Declared a true "Classic". 

Computer Cassettes Review, Fall '79 

"Adams' Adventure is exquisite. It is a true 
tour-de-force . . ." 

Recreational Computing Sep/Oct '79 

Out of 50 programs reviewed Adventure was 
rated No. 1! "Highly Recommended". 

80 Software Critique Issue No. 7 

"I highly recommend these programs". 

80- US Journal, Sept /Oct '79 

Adventures by Scott Adams are available from 
our many fine Dealers for TRS-80, Pet, Sorcerer 
and by Christmas, the Apple II! 
Write for free flyer - Each Adventure $14.95 

Adventure International ^-A102 

Box 3435 

Longwood, Florida 32750 

COD/Visa/Mastercharge - Call (305) 862 6917 



TRS-80 COMPUTING 

nonprofit newsletter 

12 Issues For $15.00 



and now 



(US) 



JJ 



PEOPLE'S SOFTWARE 

at popular prices 

•Tape 1: 34 Level II or 24 Level I (indicate which you 
want) business, home, educational. $7.50 

•Tape 2: 77 Level II from "Common Basic Programs" 
by Osborne Associates. $7.50 

•Tape 3: People's Pascal program development sys- 
tem. $15 

•Tape 4: 21 misc. Level I programs. $7.50 

•Tape 5: 24 misc. Level II programs. $7.50 

•Tape 6: People's Pascal II. $23.00 

Add 50c P&H each tape, CA residents add tax. 



C _ COMPUTER 

I — INFORMATION 
"^cio4 EXCHANGE 

Box 158 San Luis Rey, CA 92068 

, «* 

TRS-80 SOFTWARE 



MONITOR #3 $39.95 

Disassembler; ASCII and hex displays, memory move, 
search, verify, and modify; read and write object tapes; 
hex arithmetic; object code relocater; unload programs 
from TRSDOS memory areas to disk; symbolic tape 

MONITOR #4 $49.95 

Adds: save and read disk files, direct input and output of 
disk sectors, send, receive or talk to another computer 
via the RS-232-C Interface, symbolic disassembly on disk 

PACK/UNPACK $24.95 

jlncrease disk file capacity by 33% with NO NEW HARD- 
WARE Applies only to string data Ideal for mailing lists, 
telephone files, et< 

HOME BUDGET $49.95 

Keeps track of your checkbook, income, and monthly 
bills Computes monthly and year-to-date summaries 
(Requires 32K, disk ) 

MAILING LIST $69.95 

Over 1000 names on a single diskette! Add, change, 
delete, find name, alphabetic or zip sort, print labels or 
master list (Requires 32K, disk ) 



HOWE SOFTWARE 

14 Lexington Road " H47 
New City, NY 10956 



156 Microcomputing January 1980 



Build your own microcomputer 

as you learn 
computer technology at home. 



New from NRI! 

The First Interdisciplinary 

Home Study Course Ever Offered 

As the microprocessor revolutionizes 
the computer world and microcomputers appear 
almost everywhere, NRI brings you a new, con- 
venient, and effective way to keep up with this 
expanding technology It's NRI's courses in 
Microcomputers and Microprocessors, created 
and designed exclusively for learning at home 
in your spare time. 

Designed for the New Breed 
of Computer Technician 

It's no longer enough to be just a pro- 
grammer or technician. With microcomputers 
moving into the fabric of our lives as low-cost, 
easily available tools for business and home, 
both the programmer and technician must 
become total professionals. With practical 
knowledge of hardware, the programmer can 
design simpler, more effective programs. And 
with advanced programming skills, the tech- 
nician can test and debug systems quickly and 
easily. The NRI course gives you simultaneous 
training in both skills. . .makes you one of this 
rare new breed. 

Build Microcomputer, 
Test Instruments 

NRI goes far beyond book learning to give 
you practical, "hands-on" experience. As you 
learn, you actually assemble NRI's designed- 
for-learning microcomputer. It performs like 
the finest of its kind, and features both assembly 
and basic language capabilities. 

Every assembly step's a learning step. 
Using the NRI Discovery Lab® plus the NRI 
transistorized volt-ohm meter and CMOS digital 
frequency counter you also build, you perform 
meaningful experiments throughout your 
course. . .trace circuitry, interface components, 





introduce and correct problems, design your 
own programs, and more. 

The Proven Way to Learn 
at Home 

You don't have to worry with travel, classes, 
or time lost from work when you learn the NRI 
way. As they have for more than 60 years of teach- 
ing technical subjects, NRI brings the material 
to you. You study in your spare time, at your 
convenience, using "bite-size" lessons that 
program material into logical segments for easier 
assimilation. You perform experiments and build 
equipment using kits we supply. And your per- 
sonal NRI instructor is always available for con- 
sultation should you have questions or problems. 
Over a million students have already shown 
the effectiveness of NRI 
training. 

Choice of 
Courses 

Several courses 
are available, depending 
upon your needs and 
background. NRI's 
Master Course in Micro- 
computers and Micro- 
processors starts with 
the fundamentals, 
explores basic electronics 
and digital theory, the 
total computer world, 
and the microcomputer. 
The Advanced Course, 
for students already 



versed in digital electronics, concentrates on 
software and the world of the microprocessor 
and microcomputer. In both courses, you build 
all instruments and your own computer. 

Send for Free Catalog. . . 
No Salesman Will Call 

Get the details on these exciting new 
courses in NRI's free, 100-page catalog. Shows 
all kits and equipment, lesson outlines, and full 
information, including facts on other electronics 
courses. Mail the coupon today and we'll rush 
your catalog. No salesman will ever call. Keep up 
with the latest technology as you learn on your 
own computer. If coupon has been removed, 
write to NRI Schools, Computer Department, 
3939 Wisconsin Ave., Washington, D.C. 20016. 




NRI Schools 

McGraw-Hill Continuing 

Education Center 
3939 Wisconsin Avenue 
Washington, DC. 20016 

NO SALESMAN WILL CALL 

Please check for one free catalog only 

D Computer Electronics Including 

Microcomputers 
□ TV/Audio/Video Systems Servicing 
D Complete Communications Electronics 

with CB • FCC Licenses • Aircraft, 

Mobile, Marine Electronics 
D CB Specialists Course 
D Amateur Radio • Basic and Advanced 



"Van*"* 




All career courses 
approved under GI Bill. 
□ Check for details. 



D Digital Electronics • Electronic 
Technology • Basic Electronics 

D Small Engine Repair 

D Electrical Appliance Servicing 

□ Automotive Mechanics 

D Auto Air Conditioning 

D Air Conditioning, Refrigeration, & Heating 



sfni 



Including Solar Technology 



Name 



(Please Print) 



Age 



Street 



City/State/Zip 

Accredited by the Accrediting Commission of the National Home Study Council 



172010 



V Reader Service — see page 227 



Microcomputing January 1980 157 



The PET® Gazette 

and PET User Notes 

are now a part of 

COMPUTE. 

The Journal for Progressive Computing 

Continuing major sections on Business, Indus- 
trial and Educational Applications and Re- 
sources, Plus The PET® Gazette, The ATARI® 
Gazette, The APPLE® Gazette and The SBC 
(Single Board Computer) Gazette. All in each 
issue! 

A Sampling of Our 104 page "Super" Fall 
Issue: 

Tokens in Microsoft BASIC: Harvey 
Herman. ATARI Computers: The Ultimate 
Teaching Machines?: John Victor. Carl 
Moser Presents a Universal 6502 Memory 
Test. Microcomputers in Nuclear Instru- 
mentation: Joe Byrd. AIM 65 Review: Don 
Clem. Mastering The Ohio Scientific Chal- 
lenger 1R A Learn-By-Doing Approach: 
Keith Russell and Dave Shultz. CORVUS 
11A Disk Drive for APPLE: A Review by 
Michael Tulloch. Pierre Barrette on Micro- 
computers in Education. Len Lindsay Re- 
views Three Word Processors. PET in Trans- 
ition/ROM Upgrade Map: Jim Butterfield. 
Trace for the PET: Brett Butler. 32K PET Pro- 
grams Arrive: Len Lindsay. Using Direct 
Access Files With the Commodore 2040 
Dual Disk Drive: Chuck Stuart, plus Re- 
views, Resources and Products. 
New Features Coming in January include: 

"Rambling" by Roy O'Brien and "The Tape 
Exchange" by Gene Beals. 



1980 Bimonthly Subscription (Six Issues) 
"Super" Fall Issue With 1980 Subscription 



$ 9.00 
1.QO 

$10.00 



Make Check or Money Order Payable to COMPUTE. 

Post Office Box 5119 

Greensboro, North Carolina 27403 USA s ci 73 

COMPUTE, the new 

6502 resource magazine for 

PET, Apple, Atari Kim, Sym Aim 

and OSI Owners. 



COMPUTE. The Journal for Progressive Computing is pub- 
lished by Small System Services, Inc. of Greensboro, North 
Carolina. Robert Lock, Editor/ Publisher. 



MACO MAGIC MODULE 



89 .* 5 




89. 95 



TRS-80 USERS 

Expand your TRS-80 without the need for an 
expensive expansion interface with these features: 

o Self-contained Power supply 

o Audio Output for Music, Monitroing Cassette, and Signaling 

• Real-Time Clock Displayed Upper Right Screen - HR:MIN:SEC 



• Two Hand Controllers 

• Software Package: Comput-A-Sketch 

Brickyard 
o Instructions For Use With Basic And Assembly Language 



Micro-Organ 
Real-Time Clock 



MaCo Manufacturing 

1383 Airways Boulevard 

Memphis, TN 38114 



^M124 



ORDERING: Money Order or Check - We Pay Freight 

Visa, Master Charge, C.O.D. - Freight will be added to the order. 

On charge cards include all data on cards as well as complete address. 



16K STATIC RAM 




with 
$275 450 ns 
$300 250 ns 

memory chips 



Assembled, Tested and Guaranteed 



Static TMS 4044 or equivalent - Fully Static 4Kx1 Memory Chips 
for full DMA capability, no tricky timing problems. 

Fully S-100 Bus Compatible - All lines fully buffered, Dip Switch 
Addressable in two8K block, 4K increments. Write Protectable 
in 2 blocks, Memory Disable using Phantom, Battery back up 
capability. 

Bank Select - Using output port 40H (Cromemco software 
compatible)-addressable to 512KB of Ram for time share or 
Memory Overlap, also has alternate ports 80 H, COH. 

Guaranteed - Parts and labor for one year. You may return the 
undamaged board within 10 days for a full refund. 

Orders - You may phone for Visa, MC, COD ($4 handling charges 
for COD) orders. Personal checks must clear prior to shipping. 
Shipping-Stock to 72 hours normally. Will notify expected 
shipping date for delay beyond this. Illinois residents add 5% 
tax. Please include phone number with order. 



»^S129 



S. C. digital 



P.O. Box 906 Phone: 

Aurora. I L 60507 (312)897-7749 



158 Microcomputing January 1980 



G 



Radio /hack 



DIALER 



COMPUTER CENTER 



MICRO MANAGEMENT 

SYSTEMS 




«^M95 






up To 15% Discount 

on 

TRS-80's 

MICRO COMPUTER SPECIALIST 

LARRY OWENS 
COMPUTER CENTER 



MINIMALL-DOWNTOWN SHOPPING CENTER 

115C Second Ave. S.W. 

Cairo, Georgia 31728 

912-377-7120 



»o< 



»o« 



TRS 




Your TRS-80 II 16K 
is the life of the party with 
PARTY PROGRAM 



PARTY PROGRAM is the perfect £ 
cxcmbc to Bhow off your computer. f\ 
PARTY PROGRAM offers your fav- II 
orite drinks, fun, graphics & a barrel p 
of laughs. 

- An excellent Christmas Gift - or 
"Anytime Gift" for the computer nut 
in your world. 

Only $14.95 for cassette 



For same Hay service call 
( 715 ) 234-2680 

Use your Visa or Master Charge 




TfatttSt** ScfKCXQittiCA 



^N29 



Box 336 Route 4 
Rice Lake, Wis. 54868 



* 



SIMUTEK PRESENTS 




GAMES 

!!! WHOLESALE!!! 



************** PACKAGE ONE 



GRAPHIC-TREK "2000" — This full graphics, real time game is full of fast, exciting action! Exploding 
photon torpedoes and phasers fill the screen! You must actually navigate the enterprise to dock with the 
giant space stations as well as to avoid klingon torpedoes! Has shields, galactic memory readout, damage 
reports, long range sensors, etc! Has 3 levels for beginning, average, or expert players! * INVASION 
WORG — Time: 3099, Place: Earth's Solar System Mission: As general of Earth's forces, your job is to 
stop the Worg invasion and destroy their outposts on Mars, Venus, Saturn, Neptune, etc! Earth's Forces: 
Androids — Space Fighters — Lazer Cannon — Neutrino Blasters! Worg Forces: Robots - Saucers — 
Disintegrators — Proton Destroyers! Multi level game lets you advance to a more complicated game as you 
get better! * STAR WARS — Manuever your space fighter deep into the nucleus of the Death Star! Drop 
your bomb, then escape via the only exit. This graphics game is really fun! May the Force be with 
you! * SPACE TARGET Shoot at enemy Ships with your missiles. If they eject in a parachute, 
capture them — or if you're cruel, destroy them! Full graphics, real time game! * SAUCERS This fast 
action graphics game has a time limit! Can you be the commander to win the distinguished cross! 
Requires split second timing to win! Watch out! 



************** PACKAGE TWO 



* * * * * 



CHECKERS 2.1 — Finally! A checkers program that will challenge everyone! Expert as well as amateur! 
Uses 3 ply tree search to find best possible move. Picks randomly between equal moves to assure you of 
never having identical games. * POKER PACE — The computer uses psychology as well as logic to try 
and beat you at poker. Cards are displayed using TRS-80's full graphics. Computer raises, calls, and 
sometimes even folds! Great practice for your Saturday night poker match! (Plays 5 card 
draw). * PSYCHIC — Tell the computer a little about yourself and he'll predict things about you, you 
won't believe! A real mind bender! Great amusement for parties. * TANGLE MANIA - Try and force 
your opponent into an immobile position. But watch out, they're doing the same to you! This graphics 
game is for 2 people and has been used to end stupid arguments. (And occasionally starts 
them!) * WORD SCRAMBLE — This game is for two or more people. One person inputs a word to the 
computer while the others look away. The computer scrambles the word, then keeps track of wrong 
guesses. 



********* **** PACKAGE THREE 



POETRY — This program lets you choose the subject as well as the mood of the poem you want. You 
give TRS-80 certain nouns or names, then the mood, and it does the rest! It has a 1000-word • vocabulary 
of nouns, verbs, adjectives and adverbs! * ELECTRIC ARTIST Manual: draw, erase, move as well as. 
Auto: draw, erase and move. Uses graphics bits not bytes. Saves drawing on tape or disk' * GALACTIC 
BATTLE — The Swineus enemy have long range phasers but cannot travel at warp speed! You can, but 
only have short range phasers! Can you blitzkrieg the enemy without getting destroyed! Full graphics — 
real time! * WORD MANIA — Can you guess the computer's words using your human intuitive and 
logical abilities? You'll need to, to beat the computer! * AIR COMMAND Battle the Kamikaze pilots. 
Requires split second timing. This is a FAST action arcade game. 



* * 



* * * * 



* * * PACKAGE FOUR ************** 



LIFE — This Z-80 machine language program uses full graphics! Over 100 generations per minute make it 
truly animated! You make your starting pattern, the computer does the rest! Program can be stopped and 
changes made! Watch it grow! * SPACE LANDER This full graphics simulator lets you pick what 
planet, asteroid or moon you wish to land on! Has 3 skill levels that make it fun for everyone. * GREED 
II — Multi-level game is fun and challenging! Beat the computer at this dice game using your knowledge of 
odds and luck! Computer keeps track of his winnings and yours. Quick fast action. This game is not 
easy! * THE PHARAOH - Rule the ancient city of Alexandria! Buy or sell land. Keep your people from 
revolting! Stop the rampaging rats. Requires a true political personality to become good! * ROBOT 
HUNTER — A group of renegade robots have escaped and are spotted in an old ghost town on Mars! Your 
job as "Robot Hunter" is to destroy the pirate machines before they kill any more settlers! Exciting! 
Challenging! Full graphics! 



************ PACKAGE FIVE 



SUPER HORSERACE Make your bets just like at the real racetrack! 8 horses race in this spectacular 
graphic display! Up to 9 people can play! Uses real odds but has that element of chance you see in real 
life! Keeps track of everyone's winnings and losses. This is one of the few computer simulations that can 
actually get a room of people cheering! * MAZE MOUSE The mouse with a mind! The computer 
generates random mazes of whatever size you specify, then searches for a way out! The second time, he'll 
always go fastest route! A true display of artificial intelligence! Full graphics, mazes & 
mouses! * AMOEBA KILLER — You command a one man submarine that has been shrunken to the size 
of bacteria in this exciting graphic adventure! Injected into the president's bloodstream, your mission is to 
destroy the deadly amoeba infection ravaging his body! * LOGIC — This popular game is based on 
Mastermind but utilizes tactics that make it more exciting and challenging has 2 levels of play to make 
it fun for everyone. * SUBMARINER Shoot torpedoes at the enemy ships to get points. Fast action 
graphics, arcade type game is exciting and fun for everybody! 



************ PACKAGE SIX 



****** 



* * 



20 HOME FINANCIAL PROGRAMS — Figures amortization, annuities, depreciation rates, interest 
tables, earned interest on savings and much, much more. These programs will get used again and again. A 
must for the conscientious, inflation minded person. 



******* 



* * PACKAGE SEVEN ************* 



BACKGAMMON 5.0 - 

(Not recommended for 
Plays doubles and uses 
checks for comprehensi 
— Drop depth charges 
game. * YAHTZEE 
challenging against a T 
That's the object of this 



2 different skill levels make this game a challenge to average or advanced players, 
beginners). Looks for best possible move to beat you! FANTASTIC GRAPHICS. 

international rules. * SPEED READING — Increases your reading speed. Also 
on of material. Great for teenagers and adults to improve reading skills. * PT 109 

on moving subs. Lower depths get higher points in this fast action graphics 

Play Yahtzee with the computer. This popular game is even more fun and 
RS-80! * WALL STREET Can you turn your $50,000 into a million dollars? 

great game. Simulates an actual stock market! 



NOT AVAILABLE AT RETAIL STORES ANYWHERE 



INSTRUCTION BOOK WITH EACH PKG. 



ONLY 12.95 EACH!!!! 



ALL PROGRAMS GUARANTEED TO LOAD 
CASSETTE PACKAGES REQUIRE 16K LEVEL II 
PACKAGES ON DISKETTE (32K) $5.00 EXTRA 

Send check. Money Order or Bank Card # 

TO: SIMUTEK, P.O. BOX 35298 
TUCSON, ARIZONA 85740 
(602) 882-3948 



PHONE ORDERS WELCOME! 



PLEASE ADD $2.50 POSTAGE & HANDLING PER ORDER 
3 OR MORE PACKAGES GET 10% DISCOUNT 




*xS121 



Converting a Bargain TV 
to a Video Monitor 



The Lancaster method really works! 



Stephen E. Bach 
Rte. 2, Box 50 A- 1 
Scottsville VA 24590 



It is common knowledge in the 
microcomputer world that 
television sets can be used for 
video monitors, and many of us 
are doing just that. I want to 
share my experience in convert- 
ing a relatively inexpensive, 
12-inch black and white televi- 
sion set to direct video entry. 

I bought a Westport Model 
RP-205BN television on sale at 
Woolco for $69. It is all solid 
state (except for the picture 
tube, of course), operates from 
12 V dc as well as 110 V ac and 
has a power transformer that 
isolates the whole unit electri- 
cally from the ac line, consider- 
ably reducing chance of shock. 
There is also an earphone jack 
that can be used as the entry 
point for the video signal from 
your video board/generator. 

Last, and very important, is 
that with the operating instruc- 
tions comes a separate sheet 
containing the complete sche- 
matic diagram of the TV! This is 
an unusual addition for a con- 
sumer electronic item. It is a 
deal hard to beat for the price, 
especially in comparison with 
the $149 monitors I see adver- 
tised in the catalogs. 

The Conversion Details 

My guide for making the con- 
version was Don Lancaster's 
The Cheap Video Cookbook. It 
just so happens that the video 
amplifier circuitry shown by 
Lancaster on page 149 of his 
book corresponds exactly to 



the video amplifier circuitry in 
the RP-205BN, including com- 
ponent numbers (e.g., Q201 , the 
video amplifier and R113). It is 
as if Lancaster was looking at 
the schematic of the RP-205BN 
when he wrote the book! For 
those of us who are not used to 
poking our way into TVs, it is re- 
assuring to find such corre- 
sponding information to use as 
a guide. 

The most important modifi- 
cation—lifting Q201's base 
lead from the printed circuit 
board— could hardly be easier. 
All the leads of the transistor 
are labeled on the top side of 
the PC board (the transistor it- 
self is easily found because 



soldering and simply cut 
Q201's base lead above the 
board; however, that would 
leave a short lead to which you 
could connect the miniature 
coaxial cable.) 

Don Lancaster describes the 
general procedure well enough. 
I will concentrate on the specif- 
ics for this set. Connecting the 
coax (I used RG-174U) to the 
video detector output is espe- 
cially easy on this set because 
there is a test point prong, 
TP12, so labeled both in Lan- 
caster's book and on the TV's 
schematic and located right 
next to Q201 ! 

This test point in the original 
set is connected directly to the 



♦ 5V 



CERAMIC 



FROM VI DEO o 1 

GENERATOR BOARD 




ison 



-» "TO TV SET 



Fig. 1. Video output level modification. 



most of the components on the 
board are clearly labeled). You 
don't have to do lots of detec- 
tive work on pin-outs and let 
yourself be vulnerable to what I 
call Murphy's mix-ups. 

I used some Solder-Wick to 
remove the solder from the 
printed circuit pad to which the 
base lead of Q201 was joined. I 
then gently pulled the lead out 
of its hole in the board with a 
pair of long-nose pliers, bend- 
ing the lead slightly at the same 
time and pushing the transistor 
away from the hole also to ease 
the task. The most difficult part 
was over! (If you are nimble- 
fingered and have small hands, 
you can dispense with the de- 



base lead of Q201. It couldn't 
have been more conveniently 
situated either in the circuit or 
on the PC board. It becomes for 
us the terminal of the TV's vid- 
eo detector output on the PC 
board. It was simple, then, to 
solder the center conductor of 
the coax going to the video de- 
tector output to this test point 
prong and the shield of the 
cable is to the nearby tin shield 
of the TV's I.F. section. 

The other cable going to the 
ex-earphone jack is connected 
to Q201. The center conductor 
is soldered to the base lead of 
Q201, and the coax shield can 
be soldered to the same tin 
shield as was that of the other 



piece of coax. 

Actually, instead of using the 
earphone jack for the video in- 
put, I installed an extra jack 
next to it toward the back of the 
set; it was easier to do that than 
to remove the wires and solder 
from the earphone jack. They 
are small themselves, and the 
space is a bit cramped. This 
completed the chief modifica- 
tion. 

Lancaster recommends re- 
moving the 4.5 MHz sound trap 
of the TV to improve the video 
bandwidth and transient re- 
sponse. On this Westport TV, 
the 4.5 MHz trap is a series res- 
onant circuit made up of C201 
and L201. To disable the trap I 
cut with an X-acto knife the PC 
board foil connecting C201 and 
L201. Across that cut I con- 
nected a miniature SPST switch 
by which I can reinsert the 
sound trap if ever I want to use 
the set again as a TV. I mounted 
the switch on the bottom of the 
TV between a couple of the ven- 
tilation slots in the plastic 
case. 

After all that, I have been 
able to observe only a slight dif- 
ference in display quality be- 
tween the two switch positions. 
You could probabVy do without 
the modification. 

I am using the Xitex SCT-100 
video board for my display. Its 
video output level is 1.5 V peak- 
to-peak. This is not quite 
enough to drive the TV's video 
amplifier, so I had to change 
this level to match that required 
by the video amplifier. This 
modification is simple with 
Lancaster's book as a guide 
(see p. 159 of The Cheap Video 
Cookbook. For a slightly longer 
treatment of the problem, see 



160 Microcomputing January 1980 



Lancaster's TV Typewriter 
Cookbook, pp. 189-190). 

I used two 1N914 silicon di- 
odes in series as shown in Fig. 
1. Two were enough. I mounted 
the diodes, capacitor and resis- 
tor close to the Xitex board in 
its enclosure. Finally, per Lan- 
caster's recommendation (p. 
150), ) removed the lightning 
protection resistor (in this set it 
was 1 megohm) mounted near 
the antenna terminals. 

Final Adjustments 

On completing these modifi- 
cations I hooked up the Xitex 
board to the TV via the new jack 
I installed and filled the screen 
with characters. The Xitex board 
generates 16 lines of 64 charac- 



ters each. This number of char- 
acters pushes the screen's ca- 
pacity to its limits. I found that 
the whole display was off cen- 
ter to the right and that the 
characters were not exactly 
vertical but leaning to the left 
slightly. 

I went to the horizontal hold 
adjustment, a variable inductor 
next to the vertical hold on the 
back of the set. (I had the back 
of the TV off since the holes in 
the case were not well aligned 
with the adjustments' slots.) 
The horizontal hold adjustment 
requires a square tuning tool to 
fit the slug, which I did not 
have. 

With a small piece of printed 
circuit fiberglass filed down to 



size at one end, I adjusted the 
horizontal hold until the char- 
acters were all oriented straight 
up and down with no slant. 
This, however, shifted the 
whole body of characters over 
to the right so much that sev- 
eral columns were completely 
off the screen. I remedied this 
by moving one of the ring mag- 
nets on the CRT's neck (Don 
Lancaster shows them in Fig. 
3-33., p. 152, and has a note 
about them on page 153). I 
moved the one whose tab is 
toward the white flyback 
transformer. 

When I moved the tab initial- 
ly, the other ring magnet moved 
with it; they were lightly stuck 
together. I held that one and 



moved the first one. In this way, 
I was able to shift the whole 
body of characters back to the 
center of the screen. The verti- 
cal orientation of the charac- 
ters was preserved. The display 
looks OK. 

These easy-to-make changes 
and adjustments in a common- 
ly available, inexpensive televi- 
sion set have given me a good 
quality video monitor for my mi- 
crocomputer. I would encour- 
age anyone beginning in micro- 
computing or anyone upgrad- 
ing his or her system by adding 
a video display to do it in this 
way. I'll be happy to try to an- 
swer any questions you might 
have, but please include an 
SASE.B 



???###!!!???###???!! !###??? 
? DISK DRIVE WOES? MEMORY LOSS? ? 
t ERRATIC OPERATION? i 

j DON'T BLAME THE SOFTWARE! J 

• • 

. 'Power Line Surges & Hash could be the culprit! . 

• Floppies, memory & processor often interact! • 
ft *Curb damaging Surges & Hash with our ISOLA- ft 
,, TORS and Suppressor/Filters. Eliminate Equip- ,, 
» ment Interaction with our unique ISOLATORS. » 
ft "ISOLATOR (ISO-1A) 3 filter isolated 3-prong ft 

sockets; integral surge suppression; 1875 W total - 

• load, 1 KW any socket .$54.95 * 

^ * ISOLATOR (ISO-2) 2 filter isolated 3-prong socket £ 

_ banks (6 sockets total); integral surge suppres- - 

• sion; 1875 watt total load, 1 KW load either * 

ft bank $54.95 ft 

,, "Suppressor/Filter (SFK-31) 3-prong socket; 1 KW „ 

• load $24.50 # 

ft * Suppressor/Filter (SFK-33) Three 3- prong sock- ft 

ets; 1250 watt load $32.50 . 

PHONE ORDERS 1-617-655-1532 

! HZJ Electronic Specialists, Inc. ! 

I 171 South Main Street, Natick. Mass. 01760 t 

■ irnumri. De Pt KB mih 

? QQ ^ E36 jg^ ? 

?.?###!!!???###???! !!###??? 



rnrr | U P ,0 S 1 70 in merchandise 
rrlLt ! with purchase of PET-CBM item!!! 



Largi Keyboard $ 995 $130 
PET 32K Laic Kiyfcoirt $1295 $170 
PET 8K Larii Kivtartf (Niw) $ 795 $100 
PET Z040 Dual Disk (343K) $1295 $170 
PET 2023 Printer (arcs ftii) $ 849 $1 10 
PET 2022 Printer (tree Imi) $ 995 $130 
KIM-1 $1 59 \ku $30 tar Piw S*ftal SYM- 1 

AXIOM EX-801 Prlitir-PET 

2114 L 450 m 5.35 24/4.95 

2716EPR0M (5 Volt) 

6550 RAM (fir 8K Pit) 

PET 4 Voice Musk Syxtem (KL-4M) 

All Books and Software 

Leedex VMM 100 12" Monitor 

Anderwn-Jacobaen 841 Seloctrtc (par) 

Heath WH-19 Terminal (fact, asm.) 

Heath WH-14 Printer (fact asm.) 

Prof rammers Totlkit - PET ROM Utilities 

Microcheas 2.0 fir PET ir APPLE 

PET Word Processor • Machine Lanauaie 




$ 209.00 

$ 477.00 

100/4.45 

39.00 

12.70 

29.50 

15% OFF 

119.00 

1015.00 

770.00 

735.00 

44.90 

17.90 

24.00 



3M Scotch 8 Disks 
3M Scotch 5 Disks 
Verbatim 5 Disks 
Disk Storage Pages 



10/31 00 
10/31 50 
10/26 50 
10/ 395 



Cassettes (all tapes guaranteed) Premium quality, high output low 

AGFA PE 61 1 



noise in 5 screw housing with labels 

C-10 10/5.95 50/25 OO 100/48 00 

C-30 1 Q/7 OO 50/30 OO 1 00/57 00 



Add $ 1 per order tor UPS shipping 
Ask lor 6502 TRS-80 and S-100 Product List. 



»^A88 



A B Computers 



1 15 E Stump Road 
Montgomeryville PA 18936 
|?15| 699-8386 



16 K UPGRADE 
$69^ 

TRS80 

APPLE 

SORCERER 

FACTORY PRIME 16 K RAMS FOR 
MEMORY UPGRADE. KIT INCLUDES 
FULL INSTRUCTIONS AND COM- 
PONENTS TO ALLOW EASY 16 K CON- 
VERSION IN 15 MINUTES. WHY PAY 
DOUBLE FOR THE SAME PARTS THE 
MANUFACTURER USES? 

ADD $2.00 POST AND PACKING; TEXAS 
RESIDENTS ADD 5% SALES TAX. CHE- 
QUE OR MONEY ORDER ACCEPTED. 

IAN ELECTRONICS 
P. O. BOX 14079 ^147 
AUSTIN, TEXAS 78761 




OSI SOFTWARE OSI 

FOR 

OHIO SCIENTIFIC 

30 PROGRAMS 

ALL ORIGINAL ALL IN 0ASIC ALL RUN IN 4K 

ALL ON TAPE ALL WELL DOCUMENTED 
AVAILABLE FOR C1. C2, AND SUPERDOARD 

Our $1.00 catalog includes a free game listing, pro- 
gramming hints, POKE locations, and other stuff OSI 
forgot to mantion. 

*** SPECIALS * * * 

CHESS FOR OSI $19.95 

(not in DASIC-specify system) 
TEN TANK DLITZ $9.95 

A new concept in video boord gomes for the worgomer 
who wonts reol time action. 

LINE RENUMDERER $4.95 

Renumbers lines ond GOSUDs, GOTOs. & IFTHENs 

-"a AARDVARK 
TECHNICAL 
SERVICES 




SJ5 



1690 BOLTON, WALLED LAKE 
Ml 48088 313-624-6316 



6800 SOFTWARE IN BASIC 




S 



o 

t 

c 
o 



f 

I— 

a. 

E 

■o 






>■ 3 



< 



m 
a 



1 1 1 



0j ^ 



t/> i 

< 1 

-J X 



DISVfl Nl 1VVM1JOS 0089 




v* Reader Service — see page 227 



Microcomputing January 1980 161 




MAILROOM PLUS 




\ 



Make Your TRS 80 Work Like A Mini-IBM! 



Mailroom Plus was developed for the National Rifle Association membership mailings. It features 
sorting by last name or member number in addition to zip code. The program will sort 500 names 
in 30-40 minutes, kill duplicates, and close up the file. Mailroom Plus will also search all records 
for category, name, state, zip (or any other search code) and print these records on labels or in 
tabular form. It separates large files into smaller ones by state or zip or merges small files into one 
large one. Mailroom Plus is available on 32-48K disk for $75.00 by first class mail. Order yours to- 
day postpaid. 



THE PERIPHERAL PEOPLE »^P52 
PO Box 524, Mercer Island, WA 98040 

Master Charge and VISA cards welcomed 



master charge 



K 




/ 



s&^ 



A v-\ o 



^ 



VIDEO 
TERMINAL 



Now. a completely self-contained video terminal card for less than S150 00. 
Require! only an ASCII Keyboard and TV set to become a complete interactive 
terminal for connection to your computers serial IO port. Two units available, 
common features are single 5V supply, crystal controlled sync and baud rates 
(to 9600 baud I, computet and keyboard operated cursor control, parity error 
and control, power on initialization, forward spaces, line feed, rev. line feeds, 
home, return cursor, and clear to end of line Power requirements are 5V at 
900ma. output ltd. IV p p video and serial TTL level data. 



Features: 

Display 



Characters 

Baud Rates 
Controls 

Price (kit) 



TH3216 

32 characters 
by 16 lines 
2 pages 

Upper case ASCII 

300-9600 

Read to/from 
memory 

$149.95 



TH6416 

64 characters 
by 16 lines 
scrolling 

Upper/lower case 
optional 

1 1 0-9600 

Scroll up or 
down 

$189.95 



Above prices include all IC sockets 

OPTIONS: 

Power supply (mounts on board) $14.95 

Video/RF Modulator, VD-1 6.95 

Lower case option (TH6416 only) 14.95 

Assembled, tested units, add 60.00 




"TH 6416 shown abovf" 



Frequency Counter 

$89.95 KIT 



You've requested it. and now it's here! The CT-50 Fre- 
quency Counter Kit has more features than counters 
selling for twice the price Measuring frequency is now 
as easy as pushing a button, the CT-50 will automatically 
place the decimal point in all modes, giving you quick, 
reliable readings Want to use the CT-50 mobile 9 No 
problem, it runs equally as well on 12 VDC as it does on 
110 VAC Want super accuracy? The CT-50 uses the 
popular TV color burst freq of 3 79545 MHz for time base 
Tap off a color TV with our adapter and get ultra ac- 
curacy— .001 ppm! The CT-50 offers professional quality 
at the unheard of price of $89 95 Order yours today' 




SPECIFICATIONS 



Sensitivity less than 25MV 

Frequency range 5Mr to 60MH* typically 65MHz 

Gate time 1 second 1 10 second, with automatic Ceomal 

point positioning on both direct and prescale 
Display 8 digit red LED 4 height 
Accuracy 2 ppm 001 ppm with TV time case' 
Input BNC 1 meg ohm direct 50 ohm with prescale option 
Power 110 VAC 5 watts or 12VDCa.f Amp 
Size Appro» 6 x4 x2 high quality aluminum case 



PRICES 

CT-50, 60 MHz Counter Kit $89.95 

CT-50WT, 60 MHz counter, wired and tested $159.95 

CT-600, 600 MHz prescaler option for CT-50, add. . $29.95 



VIDEO TO RF 
MODULATOR 



Convert any TV set to a 
video monitor. Super stable 
circuit is qlitch free, tunabu- 
over channels 4-6. Runs on 
5- 15V Recommended by 
many computer manufactur- 
ers. Std. video input. Com- 
plete kit. VD-1 S6.95 



LINEAR REGS TRANSISTORS 



741 OP-AMP 
MINI DIP 10,52 00 



555 .50 309K 99 NPN 2N3904 type 

556 .75 340K-12 99 PNP 2N3906 type 

566 1 .49 7805 .99 NPN Power Tab 40VV 

567 149 7812 99 PNP Power Tab 40W 
324 149 7815 .99 FET MPF- 102 type 
1458 49 78MG 1.50 UJT 2N2646 type 
380 1 49 723 .49 2N3055 NPN Power 



10/51.00 
10/51.00 
3/5100 
3/51.00 
3/52.00 
3/52 00 
75 



RS232 TTL 
TTL RS232 
Converter kit 
Complete kit $7 95 



8 pin 
14 pin 
16 pin 
40 pin 
14 pin 



IC SOCKETS 

low profile 
low profile 
low profile 
low profile 
wire wrap 



5.S1.00 
5/51 00 
5 SI. 00 
2. 51 00 
3 SI. 00 



is nsaij ;l ; ;m li ;■> 



«^R8 



Box4072K ROCHESTER NY 14610 (716)2716487 




Satisfaction guarm 
t money rafund- 
•4 Order* undac $10 
add 7*c COO- add 
MOO. NY Md f% 



MINI-KITS 



FM WIRELESS MIKE KIT 

Transmit up to 300' to any FM 
radio. Sensitive mike input re- 
quires dynamic, crystal or ceram- 
ic mike. Runs on 3 to 9 volts 

FM 1 $2.95 

TONE DECODER KIT 

A complete lone decoder on a single PC 
Board Features 400 lo 5000 Hz adiuslable 
frequency range, voltage regulation 567 IC 
ueeVi lor ioucn-*o"e decoding tone r»'rsi 
detection FSK demod signaling, and many 
other uses Use 7 tor 12 button touchlone de- 
coding Runs on 5 to 12 volts 
Complete Kit. TO 1 M 96 

LED 
BLINKY KIT JL m 

A great attention get- ^EaP* B )| ^ 
ter which alternately . W f 

(lashes 2 jumbo LEDs ^QL i 

Use lor name badges ^aaTT' V 
buttons or warning *» 

type panel lights 

Complete Kit. BL 1 $2 05 

SUPER SHOO/ AMPLIFIER 

A super sensitive amplifier which will pick 
up a pin drop at 15 leer Great lor monitoring 
baby s room or as a general purpose test 
amplifier Full 2 watts ot output, runs on 6 to 
12 volts uses any type ol mike Requires 8-45 
ohm speaker 

Complete Kit. BN 9 M 95 

MUSIC LIGHTS KIT 

See music coma alive 1 3 different lights 
flicker with music or voice One lighi for 
lows, one for the mid-range and one for the 
highs Each channel individually adiuslable. 
and drives up to 300 watts Great for parties, 
band music, nite clubs and more 
Complete Kit. ML 1 $7 96 

SIREN KIT 

Produces upward and downward wail char, 
acteristic of police siren 200mw audio out- 
put, runs on 3-9 volts uses 8-45 ohm 
speaker 

Complete Kit SM-3 92 96 

POWER SUPPLY KIT 

Complete triple regulated power supply pro- 
vides variable ±15 volts at 200ma and +5 
volts at 1 amp 50mv load regulation good 
filtering and small size Kit less transformers 
Requires 6-8V at i amp and 18 to 30VCT 

Complete Kit. »* 31 T 94 96 




A.C. POWER 
CONTROL for ALL 
COMPUTERS or 
COMPLETE TURNKEY 
SYSTEMS 

Interface TO the Real World with GIMIX Relay 
Driver Boards. Connects to any Computer 
through a 20 ma. current loop (up to 4 
Boards -128 Relays per port). 

Interface FROM the Real World with GIMIX 

• OPTO BOARDS (up to 34 switch closures with one 8 bit 
Parallel I/O Port) 

• 16 BUTTON KEYPADS 

• 35 BUTTON ALPHANUMERIC KEYPADS 

A Broad Range of 6800 Systems 
and Boards Compatible 
with the SS50 Bus 




MAINFRAME: Includes chassis, power 
supply, switches, fan and mother board . . $ 798.19 

16K SYSTEMS: Mainframe, plus 6800 CPU, 

16K Static Ram and choice of I/O ... . $1344.29 
Other packages available. 

16K Static RAM 
Boards for the 
SS-50 Bus 





• Gold bus connectors 

• 4 separate 4K Blocks 

• Individual Addressing, 
Write Protect, and Enable/ 
Disable for ea ch bloc l^ Memories . . . 

$298 13 

As above 

with Sockets 

and Software 

control features 

s 368 16 

All GIMIX memory boards are assembled, 

Burnt-ln for 2 weeks, and tested at 2 MHz. 

Add $32.00 for 250 ns parts 

Tl TMS 4044's — 10% SUPPLY 

(Not an "equivalent", but the real thing!) 

450 ns $5.90 each 250 ns $6.90 each 

8KPR0M BOARD $ 98.34 

4KPPDPR0M BOARD, Burner and Duplicator . . 198.35 

2708's each 7.90 

64 or 32 x 16 VIDEO BOARD 198.71 

80 x 24 SUPER VIDEO BOARD with user programmable RAM 

character generator 458.76 

Serial l/0's 1 Port $ 88.41 4 Port 198.43 

Parallel l/0's. ...2 Port $ 88.42 8 Port 198.45 
Add $5. handling charge on orders under $200. 



Gimix 

1337 WEST 37th PLACE 
CHICAGO, ILLINOIS 60609 
(312) 927-5510 • TWX 910-221-4055 

Quality Electronic products since 1975. 



inc. 



^G28 



TRS-80, Apple II 
and S 100 owners. 

Busy Box. 

It makes your 
com p 

do things 

it never 

did before. 



'".""• 




cwmoi uarr busy box 



MicroMint introduces a new wireless 
AC remote control interface for the 
Sears and BSR X-10 home control 
system. Use your present TRS-80 
Level II, Apple II or S-100 computer to 
provide complete home security through 
control of lights, appliances and motors 
with a few simple Basic commands. 
Buss compatible with virtually all 
microcomputers. Completely assembled 
— Just plug in and turn on! 



BUSY 
BOX 




$79.95 
14.95 
29.95 
34.95 



Assembled and tested. 

Busy Box 

Cable and connector for TRS-80 

Cable and adapter for Apple II 

Cable and adapter for S-100 

Power Supply (necessary for TRS-80) 9.95 

Introductory Special: 

Complete Busy Box System 
For TRS-80 including cabte 
and power supply 

For Apple II 
including cable and adapter 



99.95 



104.95 



NY residents add 7% sales tax. 

To order call (516) 374-6793 
or write: The MicroMint Inc. 

917 Midway 

Woodmere, NY 11598 

Dealer inquiries invited. 

TRS-80 is trademark of Tandy Corp. 
Apple II is trademark of Apple Computer 






MICROCOMPUTER SOFTWARE 



(Floppy and hard disk systems) 



Medical Systems for Doctors 
Word Processing for Attorneys 
Membership for Churches 
Inventory for Auto Dealers 



• Client Accounting for CPA's 

• Listings for Realtors 

• Fund Raising for Agencies 

• Financial Systems for all Companies 




If you are planning or developing business and accounting applications in the above 
areas for sale in the national marketplace, our company will review and evaluate your soft- 
ware to determine its suitability to the small business environment. We will arrange 
marketing channels for your firm, and establish acceptable royalty provisions for all of 
your products sold to our customers. If interested in further information about our Na- 
tional Microcomputer Software Marketing Plan, send a list of your applications with sam- 
ple report and screen layouts, and hardware specifications to: 




Software Review Staff 

M icrotel, Inc. 



^M108 



P.O. Box 1098 

Gastonia, North Carolina 28052 

704-866-7157 




for the 8080 only $99 $5 



FORT//80 is a subset of Fortran IV with many powerful enhancements! 
FORT//80 is an advanced software development tool! 
FORT//80 is AFFORDABLE!! 



•"• FEATURES 

• F0RT//80 directly addresses 8080 ports as • Fast; Runs up to 10 times as fast as PLM 
FORTRAN variables • F0RT//80 directives specify location of code in 

• I/O drivers accessed via FORTRAN read/write memory at run-time 
statements • Interrupt and interrupt control 

• F0RT//80 accepts embedded in-line machine code • F0RT//80 control of interrupts and interrupt 

• 8080 condition codes are available as FORTRAN service lines 

keywords and can be operated upon • All code runs on 8080. 8085 and Z80 (upward 

• Multiple assignment operators accepted compatibility) 

• Interleaved listings and object code for quick • F0RT//80 is a true resident compiler and 
debugging generates directly executable object code. No run 

• Symbolic names up to 31 char long simplify time package needed 

documentation • F0RT//80 is very fast. It compiles quickly and 

• Constants expressable to base 2, 8, 10, 16 or as produces dense highly optimized code 

char strings • Single and double precision IBM format floating 

• Compact; Needs only 25K for compiler and point arithmetic 

minimum workspace 

""" "" "" ™""™ — ™ pmaNG 1 "™"" 1 ™ ~ mmmim 

FORT/ /80 CPM version and manual on 8" diskette $99.95 

FORT//80 Language manual separately 20.00 

FORT/ /80 Implementation manual 20.00 

Sample diskette validation program and data 5.00 

Shipping charges to US and Canada postpaid, overseas add $5.00. Please add 
appropriate state sales tax. Master Charge and Visa accepted. 

1 . FORT/ /80 is supplied on a single use basis, subject to the signing of a non-disclo- 
sure agreement. 

2. FORT//80 can be implemented with other disc operating systems using the 
implementation manual or special versions available by quotation. 

3. The purchase price of manuals and sample programs will be credited towards 
subsequent purchase of FORT//80 . 

| 1 



lansaij ;l j sin ii ;% 



BOX 4072, ROCHESTER, NY 14610 
PHONE ORDERS CALL 716-271-6487 



Distributors: 



Digital Research of Texas, Box 401565, Garland, TX 75040, (214) 271-2461 
Electrolabs Inc., Box 6721, Stanford, CA 94305, (415) 321-5601 

• Arkansas Systems Inc., 8901 Kanis Rd., Little Rock, KS 72205, (501) 227-84/1 
♦Arkon Electronics Ltd., 409 Queen St. W.. Toronto, ONT M5V 2A5, (416) 868-1315 

Dealer inquiries invited. 

™Akron Electronics Ltd 



%^ Reader Service — see page 227 



Microcomputing January 1980 163 



Load Your SWTP at 

4800+ Baud 



The author tried J PC Products' cassette interface and found it reliable to 9600 baud. 



Jerry L Hunt 
6709 Forsythia 
Springfield VA 22150 



While your Kansas City 
Standard tape is loading, 
do you: 

A. Tap your fingers impatiently? 

B. Yell at your kids and dog? 

C. Rebuild your keyboard? 

D. Take a correspondence 
course in brain surgery? 

If you would like to spend less 
time fussin' and fumin' and 
more time computin', read on. 

Since I've had a computer, 
I've spent several man-days 
waiting for my KC tapes to load. 
This has become limiting, as 
well as irritating. After becom- 
ing fed up, I started looking for a 



medium with a bit more speed. 
My search first took me to the 
obvious devices such as digital 
tape decks and floppy disks. 
These gadgets have two com- 
mon characteristics: quickness 
and expense. The first char- 
acteristic is very attractive, but 
the second is not as appealing. 

One evening, while waiting for 
a tape to load and browsing 
through a Microcomputing mag- 
azine, I noticed an ad from J PC 
Products Co., PO Box 5615, 
Albuquerque NM 87185, for a 
$49.95, 4800 baud tape interface 
bit that plugged into an SWTP 
I/O port. I looked at the remain- 
ing 10 minutes of KC tape still to 
be loaded and ordered the inter- 
face! 

About three weeks (and 




TC-3 Hi-Speed Cassette Interface. 



several more hours of KC tape 
loading) later, the package was 
delivered. It consisted of the 
hardware and a comprehensive 
hardware/software manual. The 
kit went together with ease. 
Hookup was equally easy and 
consisted of soldering two 
shielded cables to the con- 
nector and plugging them into a 
suitable cassette device. 

Building Up Speed 

Due to the high speed of the 
data flow — up to 9600 
baud— two factors are impor- 
tant. High-quality tape is essen- 
tial, as is a high-quality cassette 
machine. The manufacturer rec- 
ommends only top of the line, 
low-noise tapes and provides a 
recommendation list of cas- 
sette recorders and decks. Ba- 
sically, a good stereo tape deck 
and tapes should be used. 

My way of providing these 
was to remove the stereo tape 
deck and tapes from my com- 
ponent stereo system. The deck 
has two features that are useful 
in this application: an accurate 
tape counter and vu meters (out- 
put meters). Also helpful were 
the record level and output level 
controls. 

The software documentation 
provided included two pro- 
grams: one for high-speed read 
and write and one for KC read. 
This type of interface is versatile 
as well as fast, since it functions 
almost entirely through soft- 
ware. Thus, it can be pro- 
grammed for nearly any format, 



current or future! The data 
transfer rate is controlled by 
software constants and the 
computer's clock. A short pro- 
gram is included to determine 
your SWTP computer's clock 
rate, and constants are fur- 
nished so that the baud rate is 
variable up to 9600! 

The manufacturer recom- 
mends the baud rate be set at 
2400 for system setup, and once 
any bugs are exterminated, the 
rate is set to the advertised 4800 
baud. After all the time I had sat 
listening to the whirring of my 
cassette recorder, this sounded 
like the speed of light! However, 
I also believed if 4800 was good, 
9600 would be great! 

I inserted the proper con- 
stants for 9600 baud in the pro- 
gram and, much to my amaze- 
ment, it worked! J PC Products 
only guaranteed 4800 baud, but 
mine has been playing great at 
9600. 

About one out of 20 loads re- 
quires reloading, due to a 
slipped byte somewhere, but 
when the system indicates a 
good load, I never find an error. 
This system is much more re- 
liable than my KC system. 

The one factor I found some- 
what uninspiring was the neces- 
sity to boot in the read software 
via our crawling friend, a KC 
tape. It takes only about 30 
seconds to load; however, I was 
spoiled. 

My SWTP system incorpo- 
rates an MPA2 board, which will 
accommodate 8K of EPROM, 



164 Microcomputing January 1980 







0000 




017 


ED. AS. 


032 IFFF 


0100 


Counter 


Program 


Counter Beginning Address 


Program 


Start 


Name 


End Ending Address 

Example 1. 


Entry 
Address 











and since the high-speed soft- 
ware is relocatable, I burned a 
2716 with it. Loading 8K now 
takes only typing JC002 and 
waiting only 12 seconds! It 
takes only about 16 seconds at 
4800 baud, probably due to soft- 
ware overhead time, which is 
not affected by the changeable 
constants. 

File Search Program 

I now had a system almost as 
fast as a disk, except for the file 
search capabilities. I work 
around this with a written list- 
ing, the footage counter and the 
output meters. My listing for a 
program is shown in Example 1. 

I first set the memory loca- 
tions MA002 through MA005, 



with the beginning and ending 
addresses I wish the program 
loaded into. You can put the pro- 
gram anywhere, unlike KC Stan- 
dard tapes. 

Next, I fast-forward or rewind 
the tape to one count prior to the 
start point (16 for this program). I 
then type JC002, press play on 
the deck and monitor the output 
meters for data output. At com- 
pletion of a good load, the 
system returns directly to 
monitor control. If there is an er- 
ror in the byte count read versus 
the byte count set in A002-5, a 
register dump will print prior to 
return to monitor. Total time 
from system start-up to opera- 
tion in 8K is about 40 seconds. 
Writing to tape is done in the 



same manner with the write pro- 
gram. 

I also have the KC loader in 
ROM, but I seldom use it since I 
have left the AC-30 and recorder 
on-line to load commercially 
purchased BASIC tapes. I'm 
hoping the company will give us 
some software to patch their 
operating system into popular 
BASICS. If that happens, would 
anyone like a good deal on an 
AC-30 and a very tired cassette 
recorder? 

I'm currently working up soft- 
ware that will allow me to type in 
addresses more conveniently, 
use one-letter commands for 
control and allow one-letter 
load-run commands. 

As I mentioned earlier, good 
tapes are essential. I have been 
using Radio-Shack-certified 
data tapes with excellent suc- 
cess. I have also used top-of- 
the-line, high-quality tapes from 
various manufacturers with 
good success, but anything less 
doesn't work! I like the Radio 
Shack tapes also for their 20 
minute length. That's about 



300K bytes including inter-pro- 
gram spaces! An additional fea- 
ture of the interface (frosting on 
the cake) is a fully buffered 8 bit 
parallel output port. 

Conclusion 

I am immensely pleased with 
this system. I recommend it 
without reservation as the best 
buy in town for fast, economical 
off-line storage. My system cost 
me only $49.95 for the interface. 
If you need a good tape deck, 
add about $80 to that. So for 
less than $150 you can have a 
4800 baud system capable of 
storing one megabyte (60- 
minute tape). 

I have no association with 
J PC Products, except for admir- 
ing their product. I haven't even 
communicated with them, since 
the interface and software oper- 
ate flawlessly. 

I have also just discovered 
that J PC is offering software for 
a cassette operating system, 
file handling and basic patches. 
My prayer is answered for about 
$27 on cassette!! 



WEB M ASSOCIATES 



EXCLUSIVE TO TRS-80 USERS 

TSH0RT™- THE GREATEST SOFTWARE BUY OF THE YEAR! HAVE YOU BOUGHT YOURS YET? 



tM$K 


Q ^ W ^ E 


r B ^ T ^ 




.1ST 


tOAD tlSf IffTi 


KIGHTS tN , 


UN? IN* 


4 


AS D 


F G 


r~t 


:ioad 


ASC GOSU8 WTURN 


DJfUS* GOTO 


SYSTEM 


SHIFT 


Z X 


C V 


B *s 




STRING*' STRS 


CHRV VA8PTR 


IEN NS! 



SHORTHAND for LEVEL II and DISK BASIC 

*TSHORT™lets you type LEVEL II and/or DISK BASIC more 
quickly and accurately than ever before. Save up to 90% 
programming time and achieve 100% accuracy. 

*31 preprogrammed statement keys. 

* KUSTOM rM key, up to 64 characters — changeable anytime. 

* 42 key decals (see picture). 10 are different for DISK users. 

* A single, shifted-key entry types entire statement on screen. 

* Fast, efficient machine language. 

* Uses 580 bytes of LOW memory, i.e.: No MEM SIZE req'd. 

* Comes on cassette, one side LEVEL II, the other for DOS. 
•Compatible with DOS 2.1, 2.2, 2.3, NEWDOS, KBFIX, etc. 

* DOS version loads to and executes from disk via TAPE DISK. 
•Features self-entering commands: CONT; GOTO10; KUSTOM 

(Self-enter optional) 
*TSHORT W/4 page instruction manual $9.95 



OTHER PRODUCTS AND SERVICES: 

TBEEP™For LEVEL II and DISK USERS - A self-contained 
beeper. Alerts you with a pager-like tone when YOUR program 
commands it! Simply plug in-line with the "AUX" cable from 
your CPU and program fn BASIC, i.e.: OUT 255, 1: FOR I = 
1 to300: NEXT: OUT 255,0. (Req's9V Batt.) $19.95 

TBUFF™- For LEVEL II CASSETTE USERS. Prevent and elim- 
inate forever, cassette relay sticking. TBUFF is no larger than an 
ice cube and plugs in-line with the "REMote" cable to your 
cassette recorder. (Specify cassette recorder make and model) 
$ 9.98 

TPAK™- C-10 blank tape cassettes. AGFA 611 high quality 
tape — the best money can buy I We use this tape exclusively 
for TSHORT. Pack of 10 with box and blank labels. . . .$12.95 

COMING SOON: (Write for further details.) 

TBASE™- A powerful DATA BASE MANAGER program sec* 
ond to none! for under $50.00 

TCHAIN™— LEVEL II chaining utility — Preserve your variables 
and arrays for multiple program use, or while EDITing, RUNing 
or CLOADing Priced under $ 10.00 

TSEL™ - We'll convert your IBM SELECTRIC to a high quality 
printer — up control — 512 character buffer — special TRS-80 
cable with control switches — complete and ready to LPRINT 
(cleaning, minor service included) Priced under $800.00 



DEALER INQUIRIES INVITED 
Send check or money order to: 

WEB ASSOCIATES < 



TELEPHONE ORDERS: (714)559-6249 

P.O.BOX 60-KG • MONROVIA, CA 91016 



^W20 



SORRY, 
NOC.O.D.'S 



'i 



vrsA 



(Calif, residents add 6% tax) 



%S Reader Service— see page 227 



Microcomputing January 1980 165 



VERBATIM® ATHANA® BASF 

Floppy Diskettes for 

ANY COMPUTER SYSTEM 



20 



8 " Floppies only $3 

HUNDRED LOTS 

10 for $3.65 ea • 50 for $3.40 ea. 



We reserve the right to ship either of the neme brands that we cerry. 

5 1 /4 Mini -floppies only $2 6 ° 

HUNDRED LOTS 

10 for $3.10 ea • 50 for 52.85 



SPECIFY SIZE, TYPE, & COMPUTER 

5% ■ Solt Sector, 10 Sector, 16 Sector— 8" IBM Compatible. Soft Sector 



CALL TOLL-FREE 24 HRS. TO ORDER 

800-824-7888 ™»- 
OPERATOR 814 

CALIFORNIA 800-852-7777 or C-O.D. 



fTIHSf' 



tazd 



DC SOFTWARE & COMPUTER PRODUCTS 

POST OFFICE BOX 503 

SAN BRUNO, CALIF. 94066 **» 

FOR INFORMATION 415-348-2387 



^C159 



Business Software for TRS-80 



4©k 2 drfvTsystem 

Inventory Control— 

1000 Items/ disk, full reports 

Moiling List/ Phone Directory— 

1000 listings /disk, instant recall, 
machine language sort, prints labels 

Business Moiling List— 

1500 listings /disk, multi-key search 

02k 2 drive system 

General Ledger — 

200 occts., 1 750 transact., full reports 

Accounts Payable — 

200 occts., invoice linked, full reports 

Accounts Receivable — 

200 accts., invoice linked, full reports 

Payroll— 

Computes all deductions, prints 
checks, statements, w*-2, 941 -A 

32k 1 drive system 

Word Processor- 
full feature editing, unlimited formatting 

Appointment Calendar- 
Great for the Executive, prints calendar 

Also Available- Full Series of Real Estate Software 

write for details 

Check or Money Order CO.D. Orders-10% down 

User Manuals $20/ refund, w. purchase • Doto Sheets $ .50 with SASE 

California Residents add 6% Sal 



P.O. Box 1222 
Imperial Beach, CA 92032 (714)429-9123 



$299 

$179 
$199 

$159 
$159 
$159 

$249 

$179 
$99 



SOFTWARE 
FOR THE TRS-80 





i - — i 



NOW! 

A LIGHT PEN 

FOR THE TRS-80 

AND 

SOFTWARE 
THAT USES IT! 



QS LIGHT PEN. We have taken the excellent PhotoPoint light pen and packaged it with our 
own custom software. You get the light pen, which plugs into your tape recorder, and an 
instruction booklet that includes the software you need to interface a light pen to your own 
BASIC programs. Our software routines are in BASIC and a simple GOSUB puts the light 
pen in action. Two program examples are included. The "menu select" mode lets you set up 
selection squares anywhere you wish on the screen. The "screen location" mode searches for 
the pen position and returns the screen address to the calling program. One 9V battery 
required, not included. Light Pen - $19.95 

SKETCH 80™ by Bob Christiansen. Use the QS light pen to draw figures on the TRS-80 
screen. Figures are drawn at three times normal size. Then save your sketch in memory and 
start another one. Your sketch can be displayed at normal size or at the enlarged size at 
which they were drawn. Combine two or more sketches on the same screen. Save your 
sketches to tape or disk. You can even ask the computer to print out the POKE values re- 
quired to produce your sketch. This system program figures out how much memory your 
TRS-80 has and allocates storage accordingly. Requires level II, 16K. On cassette - $14.95 

THE FOLLOWING PROGRAMS REQUIRE LEVEL II, 16K, AND CAN BE 
PLA YED WITH OR WITHOUT A LIGHT PEN. 

POKER PETE™ by Dave Gubser. Play five 
card draw poker one-on-one against an ani- 
mated PETE. Watch PETE shuffle and deal 
the cards. He will challenge you with bluffs, 
raises, calls and folds in this winner-take-all 
showdown. And watch out — PETE's got a 
gun! Three levels of skill. Written in BASIC. 

On cassette - $11.95 

LOWBALL POKER by Danny Shea. How low can you go? It's you against Micro Molly and 
the lowest hand wins. That's the rule in lowball poker. This version plays the popular 
Gardena, California rules. Don't take her for granted — Molly plays an excellent game 
Written in BASIC. On cassette - $11.95 

RUMMY MASTER by Dave Gubser. Play rummy against the computer. Exceptional 
graphics display your hand, the discards, and the cards that have been melded. You see your 
opponent shuffle and deal out the cards. Tested in an arcade, this program was a big hit 
Written in BASIC. On cassette - $11.95 

MATCH CARDS by Danny Shea; BANKSHOT by Bob Christiansen. Two programs on one 
cassette. MATCH CARDS is a concentration-type game where you match numbers, letters, 
or graphic shapes. For 1 or 2 players. Automatic scoring rates your recall ability. Written in 
BASIC. BANKSHOT is a billiard-like game for those who think they know all the angles. 
Hit the ball into the pocket, but you must hit a wall first. Written in BASIC with machine 
language subroutines. Just CLOAD and RUN. For 1 or 2 players. On cassette - $9.95 

THE FOLLOWING PROGRAMS REQUIRE LEVEL II, 16 K, AND DO NOT 
USE A LIGHT PEN. 

FASTGAMMON™ by Bob Christiansen. Our popular machine language backgammon game 
that started us in business. The computer plays against you and makes good moves instanta- 
neously. Option to replay dice rolls from the previous game. An eight-page instruction 
booklet is included. 0n cassette _ $ig g5 

On diskette -$2*.%5 
DEBUG by Bob Pierce. Debug machine language programs by stepping through one Z-80 in- 
struction at a time. Relocatable. Several display options. Multiple break points Modify 
memory and registers. n cassette - $14.95 

x'nPoo , n^?? EMBLER bv Vic Tolomei - Decode machine language programs, including 
TRS-80 ROM with this Z-80 Disassembler written in BASIC. Instruction mode prints out 
machine code and Zilog mnemonics in standard format. Or use the ASCII mode which con- 
verts machine language code to ASCII. On cassette - $14 95 



QEEEE 
□□BEE 




QUTILITy SOFTWARE 

6660 Reseda Blvd . Suite 103. Reseda. CA 91335 
Telephone 24 hours, seven days a week (213) 344-6599 



#^Q12 

HOW TO ORDER: MasterCharge and Visa cardholders may telephone their orders and we 
will deduct $1 from orders over $19 to compensate for phone charges. Or mail your order 
to the address above. California residents add 6% sales tax. Orders outside North America 
add $5 for registered airmail, pay in U.S. currency. 

*'TRS-80" is a registered trademark of Tandy Corp. 



166 Microcomputing January 1980 



See and Copy I CALL IN 




use TRcopy 



WITH YOUR LEVEL II TRS-80* 

TRcopy is a cassette tape copying system that \< 
you SEE what your computer is reading. 

COPY ANY CASSETTE TAPE** 

With the TRcopy system you can copy any TRS- 
80 Level II cassette tape whether it is coded in 
Basic or in machine language. You can also copy 
data created by programs and you can copy assem- 
bler listings. 

YOU CAN SEE THE DATA 

As the tape is being loaded, you can SEE the 
actual data byte-for-byte from the beginning to the 
end of the program. Up to 320 bytes art displayed 
at one time. ASCII characters are displayed on the 
first line and hexadecimal code is displayed on the 
following two lines. Data is displayed exactly as it 
is input including memory locations and check sums. 

IDENTIFY PROGRAMS 

With TRcopy you can identify programs on cas- 
sette tapes without written documentation because 
you can SEE the filename. If you forget to label a 
tape, you can use TRcopy to display the tape contents 
and identify the cassette. 

VERIFY CASSETTE TAPES 

With TRcopy you can verify both the original tape 
and the tape copies. You can make certain that your 
machine reads the original tape correctly and that it 
makes byte-for-byte copies. TRcopy also counts as 
it reads giving you the exact length of the data. 

MAKE BACKUPS FOR YOUR PROGRAMS 

Now you can make backup copies of your valuable 
programs. Many times a cassette that you make will 
load better than one that is mass produced. The 
original can then be kept as a backup in case the 
copy is damaged. 

MAKE COPIES OF YOUR SOFTWARE 
If you are in the software business you can use 
TRcopy to make tested copies of your programs for 
sales distribution. TRcopy produces machine lan- 
guage tapes that are more efficient than those pro- 
duced by the assembler itself. 

RECOVER FAULTY DATA 
With TRcopy you can experiment with the volume 
and level controls and you can SEE what the computer 
is reading — even if your computer will not read the 
data through normal read instructions! In this way it 
is possible to read and copy faulty tapes by adjusting 
the volume control until you SEE that the data is 
input properly. 

SIMPLE - FASCINATING - FUN 

TRcopy is not only a practical utility program.lt 
is also a fascinating graphics program that lets you 
SEE, for the first time, cassette data as your com- 
puter is reading it. And it's as simple as 1-2-3. 
Just load, verify and copy. You will now be able to 
use cassette tapes with confidence knowing that 
TRcopy is there when you need it. 

The TRcopy system is a machine language program 
with documentation explaining tape leaders, sync 
bytes, check sums and other formatting conventions. 
With the TRcopy system, you can SEE what you are 
doing! 



TRcopy System Including 
Cassette Tape and Documentation 



Q95 



Orders accompanied by money order 

or cashier's check mailed same day. 

Orders paid by ofhtr check shipped in 14 days. No COD's. Return 

within 10 days for a full refund if you are not satisfied. 

N.D. Orders Add *TRS80 is a trademark **Yoo connot copy the 

3% Sales Tax. of the Tandy Corporation TRcopy cassette 

ORDER FROM 

Data/Print 

DEPT KB. BOX 903. FARGO. N.D. 58107 



YOUR 
ORDER 



the ULTIMATE in 
CHEAP VIDEO 

BOOK & KIT 
ONLY $42.95 






■ 

i 
*fc o 

~o P 



o •; 

B 

*- E 
> at 



y» 



o 

CN 

o 

CO 
CM 



o 



u 

4> 



o 



- I 



~° 2- 
2 S 

O »- 



> 3 



o _. 



o 
(J 

o 



■ 






■ 

o p- 

o £ 

* ■*- 
> f 

3 • 



o 

o 

X 

d 

Z 

= E 
«• o 
o £ 



D 
U 



o 



o 





° Z 

o 

*■ x 

E * 

oi -o 

1 * 






o — 

■--§ 

2 • 



c 
o 
u 



3 

o 



CO 



* 3- 

o 

z ° 

I o 

S 2 
S.E 

o a. 

m 



I 

y 

-O 4> 

C * 
O fc 

o 
■ 
c « 

.2 » 
o2r 

u o 
o c 

— o 

o ■£ 

E 

41 C 

£ z 

« D 

,3 

E « 
o -c 

e 

• — 

^ .s _* 

.E °- o 
-5 * • 



CO 

>- 

CO 



.- O 



« o 

c O 

4) O *- 

* O •) 

£ w c 



-o 2 

4) O 

-a tj 

-2 m 

u a. 

c o 



o " 5 
^ c o 



.= E 2 

«• 9 «e> 

._ I/I O 



^050 




Don Lancaster's "Cheap Video" concept allows almost 
unlimited options, including: 

* Scrolling* Full performance cursor. 

* Line/Character formats of 16/32, 24/80, 32/64 .... 
or almost anything. 

* Graphics -up to 256 X 256 B&W; 96 X 128 COLOR 

( requires low cost option modules ) 

* Works with 6502 , 6800 and other micros. 

SPECIAL OFFER: Buy the Kit (upper case alpha 
numeric option included) & get the Book at 1/2 price. 

»^ P9 HttiA ELECTRONICS. DEPT K . 1020W WILSHIRE BLVD OKLAHOMA CITY. OK 73116 



I'm Sold. PLEASE RUSH ( ) SEND FREE CATALOG 

C ) TVT 6 5/S Kit & Cheap Video Cookbook $42.95 

C ) TVT65/8 Kit only (book required for assembly) $39.95 

name; 



address:, 
city: 



state: 



zip: 



ELECTRONICS. DFPT 1 K 1020 WILSHIRE BLVD.. OKLAHOMA CITY. OK 73116 



TOLL FREE 



SAME DAY 
SHIPMENT 



master charge 

TMf mil rrink c *nn 



Designed for your 

TRS-80 



VISA 





HMMMM 



The Photopoint^ ht Pen 

"a whole new concept in computer applications" 

• All you have to do is Point to Play! 

• 6 programs Included — 3 on tape* 

• Complete Info sheet on how to write your own 
programs. 

• Plugs directly into your TRS-80 system (Level II) 

• Works with DOS too! 

• Voids no Radio Shack warranties!! 

• Over 500 sold . . . 

Imagine, direct interaction with the video display. 
Now you can eliminate the often confusing 
keyboard from your real time 
programs. 
Order Your Photopoint Today 

Micro Matrix 

P.O. Box 938 " M105 

Pacifica, CA 94044 

The only light pen approved by: 

Quality Software/Instant Soft/Softside Mfg 




$s* Reader Service — see page 227 



Microcomputing January 1980 167 



The compatible 8" TRS-80™ Floppy Disk 



MAXI-DISK™ — FIRST FULL SIZED 
FLOPPY DISK FOR THE TRS-80 



Runs TRS-DOS on 8" drives 

Runs Standard CP/M™ * 

Over three times the storage of Mini-Disk 

Compatible with TRS-80 Mini-Disk, mix and match on same cable 

Over a Megabyte on-line with four drives 

Easy plug-in installation, soldering, trace cutting, or extra wires 

Uses your expansion interface 

Styled to co-ordinate with your existing system 

Only $995. 



* With Shuffleboard option 



SINGLE DRIVE, 
INTERFACE AND 
TRS-DOS PATCH . . . $995 



ADDITIONAL 
DRIVES 



$845 



ilililli 



mmmtm, «; 



■ .- .-.v.y .-: | ■: ■ .. ■.-.■.-xssswo 



| MAX! 
DISK 



[*M*ft«*MMt 



[Dim] 



I %SSSSSSttL I 



We're *1 ! We've produced more TRS-80 8" floppy disk systems than any other manufacturer. 






THE SHGFFLEBOARD 



TM 



The Shuffleboard allows you to run 
STANDARD CP/M. Its the perfect compliment 
for your MAXI-DISK. Plugs right into your Z-80 
socket and releases the lower 16K or memory 
for use as RAM. 

Now and only now can you run STANDARD 
CP/M in the TRS-80. 

An onboard bootstrap phantom ROM allows 
you to instantly boot-up CP/M from your MAXI- 
DISK at will. 

Shuffleboard and CP/M (on 8" diskette) with 
complete documentation $249 

MAXI-DISK SPECIFICATIONS: 

Drive type: Siemens FD 1 00-8 

Capacity: 290 Kilobytes 

Transfer rate: 250 kilobits/sec. 

Latency (avg): 83 ms 

Access track to track: 6 ms 

Head load time: 25 ms 

Rotational speed: 360 rpm/Tracks: 77 

Encoding method: FM 

Size: 9V4* high x 18" deep x 4%" wide 

Cabinent color: gray 

Send your check or money order to Parasitic 
Engineering, Box 6314, Albany, CA 94706. Or 
call BAC/V1SA and MC orders to (415) 527- 
6133, 10 A.M. to 4:30 P.M. PST. 

The number one name in creative hardware design 

PARASITIC ENGINEERING 

TRS-80 is a trademark of Radio Shack and the Tandy Corp. 
CP/M is a trademark of Digital Research. SHUFFLEBOARD & 
MAXJ-DISK are trademarks of PARASITIC ENGINEERING. 

^P63 



DR. DALEY presents 
Software for the PET and the APPLE 



Dr. Daley's software is proud to announce 
the release of a package of our best selling 
programs. 

These programs, regularly retailing for over 
$400, have been assembled into a single 



package for only $49.95. Included is our best 
selling TREK3, CHECKBOOK, and a mailing 
list, tutorials, games and puzzles for every 
member of the family. All attractively 
packaged in an album. 



50 PROGRAMS ONLY $49.95* 

♦After January 1, 1980 the price will be $69.95. Disk version $10 extra. 

Your order will be shipped within four business days from receipt. 



Charge your order to 

MC/VISA 





VISA 




DR. DALEY, 425 Grove Avenue, Berrien Springs, Michigan 49103 



• D43 



Phone (616) 471-5514 Sun. thru Thurs., noon to 9 p.m. eastern time. 



168 Microcomputing January 1980 



TRANSITION ENTERPRISES, INC 



We are pleased to announce our entry into the 
solar energy field. This industry is widely 
recognized as being in a stage of development 
similar to the microcomputing industry a few 
years ago. As we develop new products In this 
area, we will make them available through our 
sales representatives. The EX50 (extender 
board) and CI50 (control interface) will continue 
to be available from our dealers, and all corre- 
spondence should be addressed to them. 



In England: 

Sirius Cybernetics, Ltd. 
7 Euston Place 
Leamington Spa 
Warwickshire, England 

In the US: 



In Switzerland: 

Digicomp AG 

Werdstrasse 36 

8004 Zurich, Switzerland 



Disney's Electronics 

6153 Fairmount Avenue 

Suite 111 

San Diego, CA 92120 

Floppy Disks, printers & components 



^T46 




ELECTRONICS, Dept.1 K 1020 W.Wilshire. Oklahoma City. OK 73116 

^P9 










BASEX 
MEANS SPEED! 

BASEX is a fast, easy to learn 
language for 8080, Z80, or 
8085 microcomputers. Its 
commands resemble BASIC, 
making translation easy. An 
interactive compiler permits 
you to enter, list, edit and run programs up to lOx faster than 
similar BASIC programs and use half the memory (2K plus pro- 
gram). 

Powerful features include: 

• Array variables 

• r«i fti.t A.ritK.m.^tic/LQqic 

* Variable name length 

* Named subroutines with 

multiple arguments 



Text strings 

Versatile 1/0 Functions 

Block memory searches/ 

transfers 
Custom commands easily 



added 

CHOOSE YOUR BASEX . . . 

97-Page BASEX manual (pub. by Byte Books) 
North Star Disk/Meca Alpha Tape/Paper Tape 
TRS-80 Level II, 16K tape with graphics commands 
CPM 8" Disk, with disk handler commands 
Basex Tape & Disk Guide-provides complete handlers 

for North Star Disk and /or Meca Tape 

(includes manual with source) 
Add $ .75 shipping (special 4th class) or $1.50 special 

handling on all orders. 

See BASEX at your local dealer or order direct from 



$ 8 

$25 
$25 
$35 



$35 



^150 



Interactive Microware, Inc. 
P.O. Box 771 
Stat. College. Pa 16801 
(814) 238-8284 



DEALER 

INQUIRIES 

INVITED 



• P€T»P€Te 



i 

e 

& 

i 
i 
i 

e 

s 

e 

E 

e 
H 

S 

i 

i 

e 

tu 

a. 

e 

K 

e 

i 

i 



PET • P€T • PET • PET • PET • PET • PET • PET e PET e P£T • PET • PET 

PET PRODUCTS ** 

Programs — Workbooks 
for Floppy Disk — for Cassette 




i 



Sea your 
Dealer « - 



T I S 




Put your PET to work! 



e 

& 

a 

& 

a 

& 

a 

* 

a 

& 

i 



sw-r 

SW-2* 
SW-3* 

SW-4 
8W-3* 



PROGRAMS WORKBOOKS 

MAILS mailing list system WB / 1 °*«"« 8tort#d "^ Your PtT 

CHECKBOOK record WB-2 I T String and Array Handling 

ACCOUNTS keep track ot who owes you how much **'* ™jl °/" p *Jf* 

MEDIT create and maintain data files ™jrf ^\?T*^* 'i°_ _ 

CALENDAR appointments, mating, a, . gi.nc. JJJ ETZZ^JZUST"* 

•These programs are special purpose data base management systems. They all can: 

• Sort numeric or string fields 

• Select based on numeric or string (=) 

• Select based on substring match 

e Select based on range of entry number 
Prices: $9.90 each for programs using cassette storage for data 
$12.95 each using sequential floppy disk storage for data. 
Price Indudee 40 - SO pege Instruction manual 

Add $2.00 for shipping and handling tis 

^... PO. Box 921, Dept KB 

Money beck guarantee , Alamos. NM 87544 



a 




On bank card orders, give all numbers 
PET Is s trademark of Commodore Business Machines 



»^T41 
PET«PET 



$3.95 . 
$3 95ui 
$4 95°- 
$4.95 • 

$3 95 £ 

$3 95 O. 

e 

I 

i 

i 

a 

»- 
III 

K 

a 

fc 

a. 



u* Reader Service — see page 227 



Microcomputing January 1980 169 



CLATJIFIEDS 



Classified advertisements are intended for use by persons desiring to buy, sell or 
trade used computer equipment. No commercial ads are accepted. 

Two sizes of ads are available. The $5 box allows up to 5 lines of about 35 charac- 
ters per line, including spaces and punctuation. The $10 box allows up to 10 lines. 
Minimize use of capital letters to save space. No special layouts allowed. Payment is 
required in advance with ad copy. We cannot bill or accept credit. 

Advertising text and payment must reach us 60 days in advance of publication 
(i.e., copy for March issue, mailed in February, must be here by Jan. 1). The publisher 
reserves the right to refuse questionable or inapplicable advertisements. Mail copy 
with payment to: Classifieds, Kilobaud Microcomputing, Peterborough NH 03458. 
Do not include any other material with your ad as it may be delayed. 



$$$$— WANTED— TRS-80s— WANTED— 
$$$$ Any quantity, any condition, immedi- 
ate cash available. Used TRS-80s and periph- 
erals available. Write for firm cash offer. 
Also used DEC PDP8, 1 1 CPUs, peripher- 
als. Jim Simpson, Box 632, W. Caldwell NJ 
07006. Tel. eves. (201) 226-9185. 

Dual N. Star mini-floppies with controller, 
cables and $700 accounts-receivable and 
gen'l ledger software— $1000. Terminet 
300B KSR RS-232 30 cps, $700. Integrand 
mainframe, fully socketed, $275. Cromemco 
A/R, A/P, G/L, Payroll & Inventory, $350 
ea. J. Kelly, 400 W. Madison St., LaGrange 
KY 40031. (502) 222-0465 evenings. 

C1P, Super board II Owners. Complete, 
accurate, professional circuit diagram of 600 
board; 17" x 22" print; $5. Circuit diagram 
for TTY interface; $2. Pete Hitt, Box 266, 
La Luz NM 88337. 



TRS-80 computers used in evening adult 
class. Several memory sizes, disks, Cen- 
tronics 779 printers, latest modifications. 
Some software. Jerry Scott, 717 Villa, 
Watonga OK (405) 623-5805. 



For Sale: RCA VIP micro with 4K RAM, 
sound board, rf modulator, p.s., games and 
utility programs on tapes. Cost $377; asking 
$225. Call (617) 481-8543 in PM. 

OSI C-1P w/20K RAM & 610 bd. Includes 
floppy intfc. & KC std. tape intfc. 3 I/O 
ports. Like new. $695. L. Gabrielson, 1038 
4th St., Rensselaer NY 12144. 

For Sale: Diablo Hytype I. Superb condi- 
tion, includes full documentation, power 
supply, stand, tractor and driving electronics 
—$1500. Also Xybek 'Trammer" 1702 pro- 
grammer. Has 256 bytes of RAM and sock- 
ets for 7 1702s (4 incl. with programmer). In- 
struction manual and software on EPROM 
is included— $75. R. C. Akeson, 12714 West 
Hampton Ave., Butler WI 53007. (414) 781- 
8820, days. 

Going out of business — must sell. OSI Chal 
III, dual flop, 32K OS65U Act IVB Micro- 
term CRT, all in excel condition, no reas of- 
fer refused. Software — utility, games, word 
proc. Taylor Dist Co., 7530 E. Kenyon Ave., 
Denver CO 80237. (303) 779-1632. Sell sepa- 
rately or together. 



CORRECTIONS 



The property gain/loss program associated with "Boy, Did I 
Make a Killing!" (November 1979, p. 112) has three small omis- 
sions. There are obvious blank spaces in lines 1340, 1450 and 
1460. My smart printer should have put a "less than" sign in 1340 
and an up arrow (raise to the power of) in 1450 and 1460.— Frank 
J. Derfler, Jr. 



For Sale: Interact Model I computer, joy- 
sticks, 15 games, Level I & II BASIC, 
manuals, extra documentation; $400 (new). 
Edgar Cormier, 1427-3 Rustic, Ocean NJ 
07712. 



Apple/ALF music users interested in trading 
songs contact Gary M. LaPoten, 333 North 
Palm Drive, Beverly Hills CA 90210. 

For Sale: ASR-33 TTY with paper tape read- 
er/punch, modem, stand. $500, you pick up. 
All back issues of Byte; $2.50 each. National 
Multiplex tape cartridge system 3M3A for 
S- 100, $175. Lenny Heath, 6618-D Lake Hill 
Dr., Raleigh NC 27609. (919) 876-4168. 



TE1 Business Computer — 48K — with dual 
drive 8" floppy, CPM operating system. 
Professional machine. Costs $8995, will sell 
for $4995. Call (816) 531-1050 for details. 

For Sale: Heathkit ETW-3400 microproces- 
sor trainer plus EE3401 program instruction 
plus parts. $330 value for only $250 or best 
offer. Great for beginners or children. John 
Hansen, 314A Milieu St., Wahiawa HI 
96786. (808) 624-9690 or (808) 655-9721. 

Heath H8, 8K RAM, ser I/O, keyboard, 
video interface up and running, $600. 
Charles Rapp, Jr., Rte 1, Box 51 A, Minooka 
IL 60447. (815)467-5786. 

Must Sell Immediately! Ex cond. IBM 
Selecterm MDC mod 9710, 3 mo. No reas of- 
fer refused. (303) 779-1632. Taylor Dist Co., 
7530 E. Kenyon Ave., Denver CO 80237. 

For Sale: Imsai MIO board with mods to 
make it work, 2 parallel ports, serial port, 
Tarbell cassette port, software drivers, serial 
port untested. 2 Imsai 4K RAM boards, 1 
God bout 8K Econoram board, 62 key ASCII 
keyboard in dress enclosure. Make offer on 
any or all. Roy Turner, 14407 Broadgreen, 
Houston TX 77079. (713) 497-5849. 



Free! TV Typewriter w/keyboard when you 
buy my SWTP 6800 computer system w/12K 
memory, AC-30 cassette interface, 4K + 8K 
BASIC for only $550. Chris, (305) 259-4328. 

Elf II, Giant, 4K, pwr, rf mod, BASIC, Pitt- 
man, RCA, Osborne. Best offer. L. G., 334 
Riverside, Palm Beach Gardens FL 33410. 
(305) 622-6655. 

Peripheral Dynamics 1555HT card reader. 
Unused — reads 150 cards/minute. With 
manual, only $400. (603) 485-9131. Mike 
Vitale, 135 Main St., Suncook NH 03275. 

Printer, 1 10 cps, 132 columns, 5x7 matrix, 
up to 6 copies, adj. tractors, self test; like 
new, just rebuilt by factory. This is a super 
printer. With RS-232 interface, only S8S0. 
PT factory assy. S-100 bus 8K RAM, $85. 
IBM 3740 compatible floppy-disk controller 
for use with Shugart, Siemens, Pertec or like 
drives; controls one to four drives. With 
manual containing S-100 and 6800 interface 
instructions. Cost $850, only $250. H. H. 
Hayden, POB 1275, Socorro NM 87801. 

For Sale: PET 8K Model 2001; built-in 
cassette, calculator keyboard. Mint condi- 
tion! 6 mos. old, hardly used! With dust 
cover, some programs. Asking $575. 
Howard Braff, 34 Elk St., Hempstead NY 
1 1550. (516) 489-6746 after 5. 

For Sale: Back issue set of Kilobaud, in- 
cludes #1-#15, #20-#27, #30-#34, must sell 
as set; original Mark 8 minicomputer with 
4K RAM, in quality cabinet, with Scelbi 
software, schematics, will send photo; Iasis 
microprocessor course. Best offer on any 
item. John Boyd, 661 1 Burkett St., Houston 
TX 77021. (713) 747-3977. 



For Sale: OSI C1P 8K. Includes extended 
monitor, editor/assembler and chess tapes. 
Moving to C4P. $399 or best offer. Good 
condition. Barry Beal, RFD #1 Box 160, 
Machias ME 04654. 



The - 12 volt rail in Fig. 1 of "An Inexpensive and Easy EPROM 
Board" (December 1979, p. 62) should be a -5 volt rail. 

In my article, "The Apple Goes to Market" (November 1979, pp. 
70-76), there is an error in line 51 10, Listing 5. In order to properly 
update the array, line 5110 should read: 

5110 FORI=YTOXSTEP -1: A(I) = A(I - 1): NEXT: X = X- 1: A(X) = B 

In the article, X and Y were transposed, causing improper decre- 
menting of the array. Sorry for any inconvenience this may have 
caused. Thanks to George Culberson, W7CBU, who called from 
Utah to point this out.— Leslie R. Schmeltz. 




Fig. 2 of "Probos V" (October 1979, p. 78) should show pin 3 of 
IC2 connected to pin 3 of IC1 , and pin 6 of IC2 connected to pin 4 
of IC1 . It doesn't matter if the logic probe is built directly from the 
published schematic, but the corrected version will match up 
more closely to the printed circuit pattern. In addition, the anode 
of LED 3 (pulse indicator) should be shown connected to pin 8 of 
IC1. Fig. 3 also contains an error; see the corrected figure here. 



Fig. 3 of "Probos V. 



The address of Statewide Mortgage Corp. (November 1979, p. 
8) should be PO Box 660, El Cerrito CA 94530. 

The following changes should be made to the "Inventory" pro- 
gram in the September 1979 issue. Also, the Sort subroutine 
changes should be made to the version that uses the machine- 
language sort routine. 



170 Microcomputing January 1980 



DiflU 



Hollywood CA 

Largest selection of computer books in the 
country Software for the TRS-80, Apple, PET, 
etc Magazines. Open Monday-Saturday, 
9:30-5 30 Opamp Technical Books, 1033 No. 
Sycamore Ave., Los Angeles CA 90038, 
464-4322. 

Los Angeles CA 

Featuring: PolyMorphic, North Star, Imsai, 
Cromemco, Extensys, Speechlab products 
and Poly-88 Users Group software exchange 
All products 10-20% off list We won't be 
undersold! A-A-A-A Discount Computer 
How's, 1477 Barrington, Suite 17, Los Angeles 
CA 90025, 477-8478. 

Mountain View CA 

Systems for business, industry and hobbyist. 
Five terminals, ten printers and five main- 
frames on display. Superbrain, Horizon 
Quad, Compucolor II, Equibox and Altos 
Computer System with hard disk Much soft- 
ware mcl CP/M, TRS-80 and PET Digital Deli 
Computer Store, 80 W. El Camino Real, Mt. 
View CA 94040, 961-2670. 

San Francisco CA 

Apple Specialists in business, personal and 
custom applications. Full line of peripherals, 
supplies and for leisure; sophisticated elec- 
tronic games and video games. A.I.D.S., Inc., 
Artifical Intelligence Design Specialists, Inc., 
301 Balboa St., San Francisco CA, 221-8500 

Pompano Beach FL 

Business systems, personal systems, whatever 
the application, we can help. Consulting, pro- 
gramming, education and maintenance. Ser- 
vice, support and professionalism at afford- 
able prices. Computer Age Inc., 1308 N. Fed- 
eral Hwy., Pompano Beach FL 33062, 946- 
4999. 

Venice FL 

Discount prices & professional service: Cro- 
memco, Northstar, Vector Graphic, DEC, Tl, 
Thinker Toys, Intertube, Soroc, Centronics, 
NEC, Selectric interfaces, Microdasys Com- 
plete business & medical billing software 
available. MicroAge & Serendipity software 
discounted. Sara-Tech Electronics, Inc., Com- 
puter Division, PO Box 692, Venice FL 33595, 
485-3559. 




Aurora IL 

Microcomputer systems for home or 
business; peripherals, software, books & 
magazines. Apple, North Star, Cromemco 
systems. Also Tl 910 and the IDS-440 printer 
w/Apple graphics. Farnsworth Computer 
Center, 1891 N. Farnsworth Ave., Aurora IL 
60505, 851-3888. 

Chicago IL 

Computer Hardware/Software Specialists for 
home and business Largest selection of com- 
puter books, magazines and copyrighted soft- 
ware in Chicago Metro area. Experienced fac- 
tory-trained service department Feature 
Apple and Alpha Microsystems and ac- 
cessories Data Domain of Schaumburg, 1612 
E. Algonquin Road., Schaumburg IL 60195, 
397-8700. 

Naperville IL 

Computer systems design, programming and 
consultation by computer experts. Dealer for 
SSM, Integrand, Tarbell, Ithaca Intersystems, 
Verbatim, Diablo and others. Discount prices 
on many items Wilcox Enterprises, 25W178- 
39th St., Naperville IL 60540, 420-8601. 

Laurel MD 

Exidy Sorcerer & accessories, Vista floppy- 
disk systems, memory boards, software & 
books, full line of ham & SWL equipment. The 
Comm Center, Laurel Plaza, Rte. 198, Laurel 
MD 20810, 792-0600. 

Worcester MA 

Computer products for personal and business 
systems. Largest selection of software for 
TRS-80, Apple, PET Authorized Apple sales 
and service. Computer Packages Unlimited, 
Centerwood Terrace, Route 12, West 
Boylston MA 01583, 835-3428. 

Garden City Ml 

Complete systems for business, professional 
and personal applications. Custom program- 
ming available Apple II, North Star, Vector 
Graphic and other lines of microcomputers, 
software, books, components Computer 
Center, 28251 Ford Rd.. Garden City Ml 
48135,422-2570. 



Here's what the Data Domain of Schaumburg IL says about the Dealer Directory: 
"Yes! We want to continue with the Dealer Directory ad. The response this past year 
has been good. We have had many people calling and visiting the store because they 
have seen that ad. It is very cost effective, too!" 



Grand Rapids Ml 

Full-line microcomputer store Ohio Scien- 
tific — Equinox— PolyMorphic Systems — 
Digital Systems — Godbout — Dynaby te — 
Thinker Toys — Meca — North Star Micro 
Computer World, 313 Michigan St., N.E., 
Grand Rapids Ml 49503, 451-8972. 



St. Louis MO 

Experimenters' Paradise. Electronic and 
mechanical components. Computer People, 
Audio People, Hams, Robot Builders. Experi- 
menters. Open six days a week. Gateway Elec- 
tronics Corp., 8123-25 Page Blvd., St. Louis 
MO 63130, 427-6116. 



Lyn brook NY 

Complete line of business computer hard- 
ware, software & service. Design of special 
software to suit your business. Specialists in 
systems for truck routing & restaurants Long 
Island Computer General Store, Inc., 103 
Atlantic Ave., Lynbrook NY 11563, 887-1500. 



New York NY 

Ohio Scientific distributor. Full stock, service 
and software. Software for PET, Apple, 
TRS-80 and hobbyist accessories (Jim Pack). 
Aristo-Craft Computers, 314 Fifth Ave., Cor- 
ner 32nd Str., New York NY 10001, 349-9034. 

Akron OH 

We've got it all. Business systems Personal 
systems. Software packages. Custom pro- 
gramming. Terminals. Printers. Service and 
books. Easy freeway access 10 AM to 6 PM 
Monday-Saturday. The Basic Computer 
Shop, Fairlawn Plaza, 2671 West Market St., 
Akron OH 44313, 867-0808. 



Canton OH 

Cromemco Ohio Scientific. Centronics 
printers Hazeltine terminals (CRT) Two- 
dimensional plotter software for Cromemco, 
as well as three-dimensional plotter software 
for Cromemco Business software Mon -Sat 
10-7 The Micro-Shop, 5686 Dressier Rd., 
North Canton OH 44720, 497-0847. 

Kingston PA 

We support Level II and Model II Books, 
magazines, programs, parts, accessories, 
peripherals, free literature, free seminars, 
cassettes, floppies, filters, transformers, caps, 
chips, CRTs Artco Electronics, 302 Wyoming 
Ave., Kingston PA 18704, 287-1014. 

Philadelphia/So. Jersey 

Intertube II, immediate delivery. Free video 
terminal comparison, Intertec's SuperBrain, 
all Centronics printers, Omnitec data 
modems/couplers, NCR portable modem ter- 
minals, MFE digital cassette drives L&S 
Distributors, 44 So. Locust, Marlton NJ 08053, 
983-7444. 

York PA 

SS-50 Buss Stop. Business & personal systems. 
Smoke, SWTP, Gimix, MSI, Exidy, TSC, Com- 
puterware, Jim-Pak, ACP, etc. Sales & service. 
Closed Sunday G. Y. C. Co., 51 Hamilton 
Avenue, York PA 17404, 854-0481. 

Houston TX 

Experimenters' Paradise! Electronic and me- 
chanical components for computer people, 
audio people, hams, robot builders, experi- 
menters. Open six days a week. Gateway Elec- 
tronics, Inc., 8932 Clarkcrest, Houston TX 
77063, 978-6575. 



Dealers: Listings are $15 per month in prepaid quarterly payments, or one yearly payment of $150, also prepaid Ads include 25 words describing 
your products and services plus your company name, address and phone. (No area codes or merchandise prices, please ) Call Marcia at 
603-924-7138 or write Kilobaud MICROCOMPUTING, Ad Department, Peterborough NH 03458 



r 



REPLACE LINES 7£0 THFU 770 WITH THE FCLLCVINCt 



Main program changes. 



7 20 READ #0 !CT-1)*64*5»A3S 

7 30 WRITE #0 KR-1>*64*5«A3S#N0END»'!ARK 

7 40 DEAD #0 SCT-e>*64*5#A3S 

7 50 WRITE #0 S(T-e>*64*5»A3S 



FROM* 1 S60 READ #0 f < F< I >- I >*f 4*5# P$M #C, F< I ) , T£FC 5 )* Pf \NFXT\CL0SF 00 
T 0t 1 £60 READ #0 KFC I >- 1 >*64*5»A3SM#0«FC I >«TABCS)»A3S\NEXT\CL0SE #0 



Changes to "Inventory. 



1 

Sort subroutine changes. 


FRO** 4 30 F3«P3*1\!F3\IF P««0 THEN 530 ELSE IF AS«>"N** THEN 1£0 ELSE 600 


A DD THE FOLLOWING TWO LINES 


TOt 4 30 P3-P3*IMP3MF P<-0 THEN 5£5 ELSE IF *$<>"*- THEN 1£0 ELSE 600 










F R0NI 1 40 FOR I»B TO N+R-INK-C Al-I 1 >M !■! !♦! 


5 £5 OPEN #0# t# POINT ,# NFOR 1*1 TO YNWRITE # 


0«PCI#1>\NEXT 




5 £6 CLOSE #0 


T 0; 1 40 FOR 1-6 TC NtF- 1\K-C A 1 -I 1 >M l«I 1* 1\ IF I>ETHENFXIT180 



Microcomputing January 1980 171 



D. E. Price 

1265 Pine wood Dr. 

Melbourne FL 32935 



Hex and ASCII 



Do it with an ASCII keyboard. 



Several months ago I set 
out to improve my ac- 
quaintance (then very lim- 
ited) with microprocessors 
and to learn the mechanics of 
CPU interface. Experience 
being the best teacher, I 
elected to build from 
"scratch," designing and 
building as needed, rather 
than assembling any of the 
multitude of CPU kits cur- 
rently available. This article is 
a natural evolution of that 
process and was put together 
in hopes that other fledglings 
might benefit from my 
experience. 

An interface module 
capable of accepting the 
ASCI I -coded outputs of a 
low-priced keyboard was 
needed (1) to convert certain 
of those codes into hexa- 
decimal codes; (2) to refor- 
mat these codes to strobe out 
two characters in parallel; (3) 
to provide keyboard control 
of a CPU. 

There is a great tendency 
in all of us (and I am equally 
guilty as the rest) to approach 
such a design problem from a 
"new and exotic" viewpoint. 
However, after the first pangs 
of exoticism had passed and I 
had returned to this earth, I 



was able to work out a solu- 
tion using commonly avail- 
able components without 
waiting for the postman to 
deliver that one critical item 
six weeks hence . . . post- 
marked Timbuktu. This little 
jewel will meet all the re- 
quirements criteria at a price 
that will astound you. 

Overview 

To begin with, examine 
the keyboard output codes in 
Table 1. Note that the four 
lower-order bits for keys 



Keyboard Code Formats 
(Lower Four Bits Only) 



KEY 



HEX 



ASCII 






0000 


0000 


1 


0001 


0001 


2 


0010 


0010 


3 


0011 


0011 


4 


0100 


0100 


5 


0101 


0101 


6 


0110 


0110 


7 


0111 


0111 


8 


1000 


1000 


9 


1001 


1001 


A 


1010 


0001 


B 


1011 


0010 


C 


1100 


0011 


D 


1101 


0100 


E 


1110 


0101 


F 


1111 


0110 



Table 1. Keyboard output codes. 



and 1 through 9 are identical 
for both ASCII and hex but 
that ASCII recycles bits 1 
through 4 starting at alpha 
character "A." Since we wish 
to use alpha characters A 
through F in hexadecimal, we 
must convert that to provide 
the essential hexadecimal 
codes in Table 1. Now 
examine the required versus 
available codes for alpha char- 
acters A through F in Table 1 
again and note that adding 
the binary weight of 1001 to 
each character should provide 
the needed conversion to hex. 
We have now established 
design criteria for the primary 
function of this interface — 
"pass numeric lower-order 
bits unaltered but modify 
alpha character lower-order 
bits by adding nine." Estab- 
lishing this criteria brings out 
one more requirement — the 
ability to discriminate be- 
tween alpha and numeric 
characters. Examine the 
codes in Table 2 and you will 
see that this discrimination 
can be accomplished by bits 
2^ through 2^. All numerics 
have a 01 1 code for these bits 
while the alpha characters of 
interest carry a 100 coding in 
those same bits. Now, let's go 



to Fig. 1 to apply what we 
have found. 

The Circuit 

In Fig. 1, the two hex 
inverters IC1 and IC2 provide 
active low outputs for ASCII 
codes 2^ through 26, an E 
code and the keyboard 
strobe. These inverters can be 
eliminated if your particular 
keyboard can provide both 
true and false outputs for 
each of the required codes. 
Remember, saving two chips 
here requires that the number 
of conductors in the con- 
necting cable be increased 
and that some buffering be 
lost at the conversion module 
end of the cable — a false 
economy! 

IC3 examines bits 2^ 
through 2$. By using the false 
levels for 2^ and 2^, we 
establish coincidence for a 
low output at pin 12 for 
hexadecimal codes A through 
F. This output is inverted and 
fed as a mode control line to 
IC4 and IC6. A high on this 
line means CONVERT; a low 
prohibits conversion. 

The necessary conversion 
is accomplished (as we deter- 
mined earlier) by adding 9 to 
the alpha characters. We 
could utilize a four-bit adder 
or a PROM. However, a very 
low-priced chip (e.g., 7486 
exclusive OR) can accomplish 
the same conversion if aided 
by a couple of AND gates and 
inverters. 

The first step in the con- 
version is to invert 2^ during 
alpha characters. This is 
readily accomplished by 
feeding the mode control line 
to pin 2 of the 7486. Look at 
Fig. 1. You will see that any 
level at XOR pin 12 will be 
inverted only when pin 13 is 
high. Thus, we add 8 only 
during characters other than 
numeric. Adding 1 to the 
lower-order bit is more com- 
plicated because "carries" 
must be considered. 

It is not the purpose of 
this article to review the 
basics of binary addition, so 
please bear with me when I 
say you must invert 2^ if 2^ 
goes to a low as a result of 
addition. Assuming that we 



172 Microcomputing January 1980 



do have a high mode line, pin 
3 carries 20 inverted. This 
signal is, in turn, inverted by 
a segment of IC2 and fed to 
an AND gate segment of IC6 
where it is passed only during 
alpha characters (Mode Con- 
trol input to pin 9). The 
output of this gate, pin 8, is 
fed to the 2^ segment of the 
XOR, IC4, where it, in turn, 
causes inversion of that 



binary bit. This method of 
addition and carry is rippled 
up through bits 20, 2 1 and 22 
to accomplish an add 1 for 
these bits. 

This ripple "add and 
carry" method works great 
until you get to alpha char- 
acter D. At this point our 
"cheapy" method blows up 
and senses a false inversion on 
bit 2^ of the output causing 



bit 22 to be inverted, with 
the result of D showing an 
output code of 1001 or the 
equivalent of a numeric 9. 

The first two segments of 
IC1 and NOR gate IC5 are 
utilized to inhibit AND gate 
IC6-A on character D, thus 
preserving our ripple and 
carry approach. False inputs 
of 20 and 21 are fed to IC5, 
causing it to go low on the 



output only during character 
D (examine Table 1 once 
again, only the D of alpha 
characters A-F has lows in 20 
and 2^, simultaneously). This 
low on IC5 is what inhibits 
the conversion during char- 
acter D. Pins 3, 6, 8 and 1 1 of 
the XOR carry the hex code 
outputs. 

Our next step is to refor- 
mat these hex codes to strobe 











E 











a 














1 




2 6 














1 


1 


1 


1 





2 5 








1 


i 








1 


1 





23 


22 


21 


20 


24 





1 





1 





1 





1 



















N 
U 

L 




s 

p 





• 


P 






B 
R 
K 











1 




S 
O 
H 




! 


1 


A 


Q 






C 

T 
L 








1 







S 

T 
X 




a 


2 


B 


R 






C 

L 
R 








1 


1 




E 
T 
X 




# 


3 


C 


S 






H 

I 
S 





1 










E 
O 

T 




$ 


4 


D 


T 






L 
B 





1 





1 




E 
N 
Q 




% 


5 


E 


U 






R 
B 





1 


1 







A 
C 
K 




& 


6 


f 


V 











1 


1 


1 




B 

E 
L 




» 


7 


G 


w 








1 













B 
S 




( 


8 


H 


X 








1 

I 








1 




T 
A 
B 




) 


9 


1 


Y 








1 





1 







L 
F 




* 


■ 


J 


z 








1 





1 


1 




V 

T 




+ 


• 

9 


K 


[ 








1 


1 










F 
F 




r 


< 


L 


\ 








1 


1 





1 




C 

R 




a 


= 


M 


] 








1 


1 


1 







S 

o 




• 


> 


N 


A 


E 

s 
c 






1 


1 


1 


1 




s 

1 




/ 


? 


O 






D 

E 
L 





Table 2. ASCII codes for Archer keyboard. 



Microcomputing January 1980 173 



2° O 



ICI 

7404 

.. 7400 IC6 

^4-4a>>^-^| N 3 7408 



IC4 
7486 



2 1 L3>~t 



£>±J 



2 2 G> 



£>^> 



2 3 O— f 



£»^ 



2* [> 



i i r\l0 



£> 



2« 



2 5 E> 



■ 1 7410 



2 6 O— ■ i 



$* 



-0 2< 



IC2 
7404 



d — ^X — o 



STR 



o — 4>^ 



-O STROBE 



two characters out in parallel, 
meeting the 8-bit bus require- 
ment of many of the popular 
CPUs. Fig. 2 is a single func- 
tion diagram of the "shape-up 
and ship-out" reformatter. 
The requirement is to rec- 
ognize when the operator 
wants to output a hex- 
formatted code. This recog- 
nition is accomplished by 
ICI, an 8-bit NAND gate. By 
feeding this gate appropriate 
true and false (22 and 2^) 
ASCII outputs 2° through 
26, a low is achieved from a 
semicolon key. 

IC4 is a 5-bit shift register. 
The inverted output of the 
recognition chip (pin 2, IC2) 
is combined with the key- 
board strobe in AND gate 
IC3A to provide a load signal 
for the shift register, loading 
a 10000 sequence upon 
receipt of a ; signal. The clock 
for the shift register is pro- 
vided at pin 6 of IC3B. This 
clock is inhibited while the 
keyboard is active with a 
semicolon. A four-bit latch is 
activated by the first parallel 
output bit (7496-15) and, 
therefore, loads the first hex 
character appearing on lines 
2° through 2 3 of the code 
converter as shown in Fig. 1. 

When the keyboard strobe 
appears after keying in the 
first hex character, the shift 
register shifts to the right to 
output a parallel code 01000. 
This code latches the first hex 




IC4 



3E> 



IC4 



ice '", 



X0R- 

-0-3 



10 



E> 



IC6 




IC4 

3E> 



MODE CONTROL 



IC2 



^ 



-O-6 



TO 
N CHARACTER 
/ REFORMATTER 

FIG. 2 



-O-8 



-O-11 



Fig. 1. ASCI I /hex converter. 



word in IC5 and holds same 
as an interim memory. Out- 
puts of the 4-bit latch are 
routed through a four- 
channel bilateral switch (IC6) 
to the CPU data bus D 4 
through D?. The four lines 20 
through 2^ from the code 
converter are also routed 
through a four-channel bi- 
lateral switch (IC7) to CPU 
data bus bits D^ through D 3 . 
When the second hex 
character is entered from the 
keyboard, it is inhibited from 
entering the 4-bit latch due to 
the previous shifted pattern 
of the shift register. The shift 



register, moving once more to 
the right with the keyboard 
strobe, enables AND gate 
IC3-C via pin 9, allowing the 
keyboard strobe to pass 
through this AND gate and 
enabling the CPU to strobe 
the two characters held at the 
bilateral gates (IC6, 7) onto 
the CPU data bus in parallel. 
These bilateral gates also 
appear as Tri-state outputs to 
the data bus, effectively pre- 
venting the loading of the bus 
except during the strobe 
pulse from the CPU when 
either 1 or is presented to 
each of the 8 CPU data lines. 



26 

2 5 

2 4 
23 
2 2 

2 1 

2 o 


r - ^. 


11 


1 P~ 

1— >»_ 


6 


1 ^ 

1 — >>_ 


5 


I — s— 


4 


1 *>^ 

1 — v. 


3 


1 .?~ 

I — v»_ 


2 


1 -^ 

1 — v_ 


1 


\—s^ 





KEYBOARD O 
STROBE 



X0R- 

-II o- 




T T f 



B C D E 



LOAD PRESET 

IC4 7496 

CLK Qo Qc 



-8 O- 



-6 O 



-3 O 



15 



r 



I 



13 



5-BIT 
SHIFT 
REGISTER 

IC3 



+ 5V 



*uy 



1 



4D 
30 
20 
ID 



IC5 
7475 



4-BIT 
LATCH 



40 
30 
20 
10 



T a 



15 



16 



♦ 5V 



^ 



So far we have met two of 
our initial three objectives: 
We have provided code con- 
version, ASCII to hex, and 
reformatted to strobe out 
two hex characters in parallel 
to the CPU. It should be 
noted that while this process 
is being followed, the key- 
board simultaneously pro- 
vides ASCI I -coded output 
one character at a time for 
character presentation on a 
TVT. The diagram for CPU 
control is presented in Fig. 3. 

External Keyboard Control 

In Fig. 3, IC3 and IC4 are 
each a control pair com- 
prising AND gates cross- 
connected to latch in com- 
mands from a decoder, IC2. 

The Archer keyboard used 
in this project presents an E 
bit on 2 7 output. This E bit 
appears for six non-ASCII- 
coded keys: BREAK, CTRL, 
CLEAR, HERE IS and two 
unmarked, uncommitted 
keys. The 7442 decoder (IC2) 
in Fig. 3 functions as a rec- 
ognition circuit for these keys 
when presented with true 
signals from 2^ through 22 
plus a strobed E s input. 
NAND gate IC1 provides the 
strobed E signal and also 
serves as an inverter to pro- 
vide the necessary active low 
input to IC2. The six decoded 



ICI, 283: PIN l4 = Vcc,PIN 7=GND 



o 



LOAD (IC6.IC7) 



5,6,12,13 
1 



'■<2 



DMA 
STROBE 
DMA 
ACK 



IC6 
4016 
QUAD 
SWITCH 



D7 



D6 



D5 



-r^ 



10 



04 



o 



14 



14 



5.6.12.13 
5,6.12,13 
2 



C9U 
I DATA 
BUS 



IC7 
4016 
QUAD 
SWITCH 



D3 



-o 



D2 



-o 



10 



DO 



-o 



Fig. 2. Single function diagram of the character reformatter. 



174 Microcomputing January 1980 



outputs appear as active low 
signals for BREAK, CTRL, 
CLEAR, HERE IS, LEFT 
BLANK and RIGHT BLANK. 
When directed to the 
appropriate inputs of IC3 and 
IC4 as shown in Fig. 3, four 
keys have the ability to force 
latched outputs at output 
pins 1A, 1B. BREAK will 
cause a low at pin 1A and a 
high at p'\n AB. This is WAIT 
logic for an RCA COSMAC 
CPU with which this interface 
module is now working. 
CLEAR causes a low on pin 1 
of IC4 and a high at pin 1 of 
IC3. This is CLEAR logic for 
the same CPU. RUN provides 
highs at both output ter- 
minals, while HERE IS pro- 
vides a LOAD function of 
two lows at the same ter- 
minals. 

Summary 

This concludes the descrip- 
tion of the interface module 
and its functions. Again, it is 
not exotic in form, but it 
does provide in a reliable 
manner three essential func- 



KB 
STROBE 



7400 



n> 



E O- 



i£>^ 



2 2 O 
2 1 O- 
2° O- 



ICI, 3B4: PIN 14 « Vcc, PIN 7-GND 



tions of code conversion, re- 
formatting and CPU control. 
It can be constructed without 
real concern for critical lay- 
out of lead dress (the original 
was wire- wrapped on a Radio 
Shack prototype board) and 
all components are low cost 
and possibly available in your 
junk box. 

In any event, the total 




WAIT 



CLEAR 



Fig. 3. CPU control. 



chip complement costs under 
$5 at any of the several 
houses advertising in this 
magazine. The design is not 
without shortcomings. It does 
not provide for back-stepping 
in the case of erroneous 
entry, nor can it obviate 
illegal entry such as the 
keying in of shifted char- 
acters . . . but what can you 



expect for less than $5? Plans 
are currently underway to 
add back-spacing capability 
for program correction and 
rapid program step through 
for entry verification. The 
latter is considerably more 
useful to limited systems 
without CRT display than to 
those lucky people with TVT 
connections. ■ 




We bought 350,000 LED's. 
And you get the savings. 

Reds, greens, yellows, orange, small, 
medium, large. Bags of 25 - mixed $2.75. 
That's only 11C each. Compare this bargain up to 
twice our price 



FACTORY PRIME 
5BI - Polar LED 59* ea. or 10 for $5 



LAB-BENCH VARIABLE POWER SUPPLY KIT 

5 to 20 VDC at 1 AMP Short circuit protected by current 
limit. Uses IC regulator and 10 AMP Power Darlington. 
Very good regulation and low ripple. Kit includes PC 
Board, all parts, large heatsink and shielded 
transformer. 50 MV TYP Regulation $15.99 KIT 



LED BAR GRAPH AND ANALOG METER DRIVER 

New from National Semi #LM3914 Drives 10 LED 
directly for making bar graphs, audio power meters, 
analog meters, LED oscilloscopes, etc. Units can be 
stacked for more LED's A super versatile and truly 
remarkable IC Just out! 

SPECIAL PRICE: $3.99 INCLUDES 12 Page Spec Sheet 



CLOCK MODULE OPTIONS 
MA1008 A and D MA1013 

Switches and pot for all options 

Includes: 

5 push buttons 

1 toggle 

1 10K pot $2.50 

Alarm Parts (including high impedence 
transducer) Much more efficient than a 
speaker $1.50 

Transducer only (unbelievably loud') $1.10 



16K DYNAMIC RAM CHIP 
WORKS IN TRS-80 OR APPLE II 

16K X 1 Bits 16 Pin Package Same as 
Mostek 4116-4 250 NS access. 410 NS 
cycle time Our best price yet for this state 
of the art RAM 32K and 64K RAM boards 
using this chip are readily available These 
are new fully guaranteed devices by a 
major mfg 

VERY LIMITED STOCK! 

"MAGAZINE SPECIAL" - 8/$79.50 



NATIONAL SEMICONDUCTOR 



tt 



COLOSSUS JR." JUMBO CLOCK MODULE 



MA1013 
BRAND NEW! 



mr 



f-Or 



50 



LJ U • O /O 




ASSEMBLED! NOT A KIT! 



NUFACTURERS CLOSEOUT' 



(AC XFMR SI 951 



PERFECT FOR USE 
WITH A TIMEBASE 



Bright 4 digit 0.7" LEO Display 

Complete Add only Transformer and Switches 

24 Hour Alarm Signal Output 

12 Hour Real Time Format 

50 or 60 Hz Operation 

Power Failure Indication 

LED Brightness Control 

Sleep and Snooze Timers 

Alarm on" and PM Indicators 

Direct Drive - No RFI 

Direct Replacement for MA1012 

Comes with Full Data 



SONY 23 WATT AUDIO AMP MODULE 

#STK-054. 23 WATTS SUPER CLEAN AUDIO. 20 HZ to 
100 KHZ £ 2 DB. HYBRID, SILICON, SELF- 
CONTAINED MODULE. ONLY 1* x 2V? IN. WITH 
DATA. 
COMPARE AT UP TO TWICE OUR PRICE! $6.50 each 



60 Hz CRYSTAL TIME BASE 

$4.95 (Complete Kit) 
Uses MM5369 CMOS divider IC 
with high accuracy 3.579545 
MHZ Crystal Use with all MOS 
Clock Chips or Modules Draws 
only 1 .5 MA. All parts, data and 
PC Board included 100 Hz, 
same as above, except $5.95 



PAIRCHILD PNP 

'SUPER TRANSISTOR" 

2N4402 TO-92 Plastic Silicon PNP 
Driver High Current VCEO-40 HFE- 
50 to 150 at 150 MA FT-150 MHZ A 
super "BEEFED-UP" Version of the 
2N3906 

8 FOR $1.19 



MICRO MINI 

TOGGLE SWITCHES 

6 for $5 with hardware. 



Sound Activated Switch not a 
kit. Already assembled. Clap 
your hands and turn on lights, 
music boxes, coffee pots, etc. 
Full spec, sheet with each unit. 

69* ea. 10 for $5.50 



JUMBO IC ASSORTMENT 

All new not rejects. BIG 
computer mfg. Surplus. Some 
standard marked, many house 
numbered. TTL, DTL, LINEAR. 
All prime. 1st line. 
50 for $1.59 500 for $12.95 



TOSHIBA POWER AUDIO AMP 

5.8 WATTS RMS Typical Output. 50 to 30,000 HZ 
+ 3 DB. For CB's, tape decks, PA's, etc. Works off 
of a single supply voltage from 10.5to 18 VDC. 10 
Pin plastic DIP with special built in heat sink tab. 
Perfect for use on 12VDC. $099 
With Data. O each 



Digital Research: Parts 



(OF TEXAS) 



P.O. BOX 401247 • GARLAND, TEXAS 75040 • (214)271-2461 



TERMS: Add 50C postage, we pay balance. Orders under $15 add 
75C handling. No COD. We accept Visa, MasterCharge and 
American Express cards Tex Res. add 5% Tax. Foreign orders 
(except Canada) add 20% P&H. 90 Day Money Back Guarantee on 
all items. 
Write for our free catalog full of many useful bargains 



Microcomputing January 1980 175 



SECURITY for TRS-80 DISC DRIVE OWNERS 




• BUSINESSMEN - Ensure the privacy of your Corporate Files 

• PROGRAMMERS - Protect Programs/Data Files 

• RS232 USERS - Foil wiretaps with Super Cipher 

• AMATEUR RADIO - Baffle eavesdroppers with Super Cipher 

CIPHER for security at the Confidential level. Cipher is a sophisticated (cryptographic system 
which is impervious to all Master DOS passwords. Codes of up to 11 alphanumeric 
$39.95 characters accepted. Cipher is supplied with its own self-chaining disk operating 
system, but will accept DOS 2.1, 2.2 or 2.3 files. 

SUPER CIPHER for security at the Top Secret level. Super Cipher accepts codes of up to 
256 alphanumeric characters. This is the code for special business or military applica- 
$99.95 tions. 



AUTHORS - DISTRIBUTORS - SYSTEM HOUSES 

• DOUBLE AND TRIPLE YOUR SALES 

• CURTAIL COPYRIGHT VIOLATIONS 

• PREVENT ILLEGAL DISC DUPLICATION 

• THWART PROGRAM EXAMINATION DURING EXECUTION 

We will customize your program so that it will execute, but can not be examined regardless of any effort to disable the protection. 
Our technique is impervious to both Master DOS passwords and alien DOS systems. Send us your program together with a $40 encipher- 
ment fee. If we consider the cryptographic problem acceptable, we will encipher your program and return the encrypted version to 
you. Otherwise your $40 fee will be promptly refunded. Examine and test our diskette - complete with its own copyrighted DOS system 
- to see if the level of encipherment is adequate. If you are satisfied we will then supply duplicates in lots of fifty at a fixed charge per 
diskette. 

P.O. Box 516 • Troy, Idaho 83871 • SOLARIS PRESS • Specify 32K or 48K • (208)835-5391 ^S123 



TRS MOD I and MOD II PROGRAMS FROM |-RACET computes^ 



oo BASIC for Level II and Disk Systems $49.95 

Full MATRIX Functions - 30 BASIC commands! ! 
Mathematical and common matrix functions. Change arrays in 
mid-program. Complete array handling. Tape array read and write, 
including strings. Common subroutine calls. 

Over 50 more STRING Functions as BASIC commands!! String 
manipulation, translation, compression, copying, search, screen 
control, pointer manipulation and utility functions. Includes 
multikey multivariate machine language sorts. Load only machine 
language functions that you want! Where you want in memory! 
Relocating linking loader! More than you ever expected! ! 

oo BUSINESS (Requires Infinite BASIC) $29.95 

20 Business oriented functions including: 
Printer Automatic Pagination with headers and footers! 
Packed Decimal Arithmetic ( + ,-,*,/) 127 digits! 
Binary array searched and hash code generator! 

COMPROC Command Processor for Disk Systems $19.95 

Auto your disk to perform any sequence of DOS commands, 
machine language loads, BASIC, memory size, run program, 
respond to input statements, etc. Single BASIC command file 
defines execution! Includes auto key-debounce, screen print and 
lower case software driver. 

New Products Jan/Feb! We answer reader response inquiries! ! 

ATTN/ System Houses - We license usage of our routines! 

TRS Add-On OEM's - Direct BASIC commands tailored 
for your hardware. 



REMODEL + PROLOAD Specify 16, 32, or 48K Memory $34.95 

RENUMBER any portion or all of BASIC program. Line references 

adjusted. 

MOVE any portion of a BASIC program from one location to 

another. 

DELETE lines or ranges of lines while using the utility. 

MERGE all or any portion of a program from tape. (Load lines 

300-500 from your tape to existing program at line 1000 with 

renumbering on the way in!) 

SAVE combined/merged programs, or any portion to tape with 

VERIFY. 

COPSYS Copy Systems Tapes (Editor/Assembler Format) $14.95 

GSF (16, 32, or 48K) $24.95 

18 Machine language routines using *USR' calls. Includes RACET 
sorts, array handling, and fast lines and scrolls. 

DOSORT (Specify 32 or 48K - 2 disk minimum) $34.95 

Sort/Merge multi-diskette sequential files. Multiple keys and 
variables. Includes GSF - machine language sorts, comparators 
and string handling. 

MOD II SUPPORT 

RACET is supporting the MOD II! ! 

Call or write for current information! We have a MOD II Superzap 

and other assembly language tools! 

Ask your dealer if he carries our products! 

DEALERS! We will work with you directly or through our 

distributors. _ ^R24 



CHECK, VISA, M/C, CO. D. • Calif. Residents add 6% • Telephone Orders Accepted (714)637-5016 

WHEN ORDERING PLEASE ADVISE PUBLICATION SOURCE 



E~ RACET computes -3 

702 Palmdale. Orange CA 92665 



DATA TERMINAL EQUIPMENT 



FROM MICRO MAIL 




soroc iq 120 *795.°° 

• RS 232C, upper/lower case, full 
ASCII 

• Numeric keypad, protected fields 

• Cursor keys plus addressable cur- 
sor 

• Auxiliary extension port 




LA34 DECwriter IV 

n,i99.° o 

Upper/lower case, 9x7 dot matrix 

10, 12, 13.2, 16.5 characters/inch 

2, 3, 4, 6, 8 or 12 lines/inch 

22 M W x 7"H x 15 1 /2 M D, 25 lbs. 

1 10 or 300 baud, RS 232C serial 

ASCII 

Friction feed, paper width to 15" 



SOROC IQ 140 *1,250. 00 

• RS 232C and 20mA current loop 

• Extensive editing features 

• 25th line terminal status display 

• 16 function keys (32 with shift) 




New 
from DIABLO 

DIABL0 1640 *2,690. 00 
Receive-only $2,331.°° 

High-quality daisywheel printing at 
45 cps. 

DIABLO 1650 ' 2.779. 00 
Receive-only *2,419.°° 

Metal daisywheel printing at 40 cps. 



T.I. 810 printer * 1,695.°° 

• Includes upper/lower case 

• 150 characters per second 

• RS 232C serial interlace 

• Adjustable forms tractor 




NEC Spinwriter 

Call or write for prices 



To Order: Send certified check (personal or company checks require 
two weeks to clear) including handling* and 6% sales tax if delivered 
within California. 

* Handling: Less than $2,000, add 2%; over $2,000, add 1%. Everything 
shipped freight collect in factory cartons with manufacturer's warranty. 






MICROMAIL • BOX 3297 • SANTA ANA, CA 92703 

(714) 731-4338 ^M73 



Want to 

REALLY UNDERSTAND 
The BASIC Language? 

From the author of the highly acclaimed TRS-80 Users/ 
Learners Manual corne a the book you've boon asking for! The 
BASIC Handbook is THE definitive reference and "idea" book, 
explaining in detail the BASIC language as used in over 50 
favorite micros, minis and mainfr a me s . 

Its not a dictionary, and not a textbook, but a virtual ENCYCLOPEDIA of the 
BASIC language. In it is everything you need to know about the most 
important BASIC statements, functions, operators and commands, explained 
in a way that you can put them right to work. 

This HANDBOOK is written to be used! 

With the BASIC Handbook you can finally make those programs found in 
magazines run on your computer - or know the reason why they can't. 

If there is an alternate way to write a program using other BASIC words, the 
Handbook shows you how. If there is a function needed but your machine 
doesn't have it, the Handbook gives you a subroutine that accomplishes the 
same thing. About the only thing it won't help you with is an additional 16K of 

memory. 

Is TRS-80 Level II covered - YES! 
Is PET covered - YES! 
Is Apple covered - YES! 
Sorcerer, Artair, Imsai, Etc. 
YES and over 50 more! 



nS> -#. .<* 



v^.^ 



360 pages 
Soft Cover 









*-*> 



ov 



30- Day money back 
Guarantee 



**v 



^ ^ 






/ 



<r* 



*S& 



<r »p <zF *' 






G^#' 



V 



COMPUSOFT - PUBLISHING 

A Division o( CompuSott, Inc 

8643 Navajo Road 

San Diego. California 921 19 



^C109 



K 



I understand my handbook will be shipped promptly and there 
is a 30-day money back guarantee 

My Computer is a 



*^ Reader Service — see page 227 



Microcomputing January 1980 177 



THE PERFECT 
CHRISTMAS GIFT 



CQMPuCaUEfil 



ORDER NOW 
FOR CHRISTMAS 









Mx$#%*& 



GROW WITH US AS 

COMPUCOVER EXPANDS 

TC MEET YOUR NEEDS 

INTHE1980's 

Dealer Inquires Invited 

Club Discounts Available 



• Cloth Backed Naugalhyde Vinyl 

• Waterproof & Dustproof 

• Longer Life 

• Improved Reliability 

• Three Decorator Colors 
Saddle Tan • Electra Blue • Black 



TO ORDER: 

Include $1.00 for 

Postage & Handling 

Send Check or Money Order To 

CompuCover 

P.O. Box324Dept. A 

Mary Esther, FL 32569 

Phone (904) 243-5793 



TRS-80 

Keyboard $7.95 

Cassette 3.95 

Video Display 9.95 

Set 19.95 



APPLE II 

Keyboard $9.95 

Disk 3.95 

Set 11.95 



Sorcerer $9.95 

TRS-80 Disk 4.95 

Double Disk 6.95 

Percom Disk 4.95 

LoboDisk 6.95 

Matchless Disk... 6.95 



CENTRONICS 

779 $17.95 

730 9.95 

P-l 9.95 

DECWRITER 

36 $19.95 

120 19.95 



Wang Terminal $18.95 
Wang w/dlsk ...22.95 
Trendcom 100 ...9.95 

SoroclQ120 18.95 

Pet 19.95 



* EXCITING MAIL ORDER DISCOUNTS • 




NOVATION CAT 

ACOUSTIC MODEM 

• ANSWER. ORIGINATE 

• 300 BAUD 

• BELL 103 

• LOW PROFILE OESIGN 



*I79°° 



MetaFloppy. 

1043 (Single) 31 5Kb 
1053 (Dual) 630Kb 



DRIVES 



00 



$995 
$1695°° 



•QUAD DENSITY DESIGN 
•COST EFFECTIVE STORAGE 
•4 TIMES STANDARD CAPACITY 
EVEN AFTER FORMATTING! 



tippkz H 16k 




OR APPLE II PLUS 

♦975 00 

COLOR . GRAPHICS • SOUND 
APPLE DISK $495.00 

INCLUDES CONTROLLER 



SD EXPANDORAM 



WITHOUT MEMORY. 

1 6K KIT 

32K KIT 

48K KIT 

64K KIT 



ADD $50 FOR ASSEMBLED & TESTED 



$149 00 
_215 00 
_ 269 00 
_ 349 00 
_409 00 

»^C174 



PORTABLE MINISCOPES 

LOW POWER CONSUMPTION 



MS-1 5 SINGLE TRACE 1 5 MHz $ 289 
MS-2 15 DUAL TRACE 1 5 MHz $389 
MS-230 DUAL TRACE 30 MHz $ 519 



SO ROC IQ 120 



SERIAL RS232C 

FULL ASC II UPPER/LOWER CASE 
NUMERIC KEYPAD CURSER KEYS 
SCREEN CONTROL & 
PROTECTED FIELDS 




2 9 HIGH 
6 4 WIDE 
8 5 DEEP 



00 



$ 775 



LEEDEX VIDEO 100 



12" BLACK & WHITE MONITOR 

• VIDEO BANDWIDTH 12MHz±3db 

• COMPOSITE VIDEO INPUT 




$ 129 



oo 



• TO ORDER • 

Phone orders invited, using credit cards Or send personal 
check or money order Add 1 % for packing and handling 
California resident add 6% sales tax AH equipment is 
shipped freight collect in factory carton with manufacturers 
warranty All equipment subject to availability and price 
change without notice 




VISA 



OMPUTER SPECIALTIES 



6363 EL CA JON BLVD., SUITE 205, 
SAN DIEGO, CA. 92113- (714) 579-0330 



178 Microcomputing January 1980 



Z-80/TRS-80 ™ Users 

BOOK YOU'VE WANTED NOW CAN BE YOURS 

THE Z-80: HOW IT WORKS 

(THE PROGRAMMERS PERSPECTIVE) 

By Monte Corum 

Best Most Complete Reference Yet 

cpu Operation Explained 

Addressing Modes Demystified 

Register Functions Described 

Instructions Defined 

Interrupts Diagrammed 

Cycles Outlined Formats Described 

Execution Described in Text, 

Notation and Diagrams 

Meaningful Analysis of 698 Commands 

in Formatted, Usable Tables 

Simple, Consistent Notation and Formats 

A Programmer's Book, Beginner or Experienced 

Ideal Text for Class Instruction 

Pricse: $17.95 Plus Tax and Shipping 

VISA & MSTRCHRG-NUMBER AND EXP. DATE 

PREPAID WE SHIP 

MICROWARE ASSOCIATES, INCORPORATED 

9301 N. 58th St. DPT. AAA 

SCOTTSDALE, AZ. 85253 

DEALER INQUIRIES INVITED 

T " TRS-80 IS A TRADEMARK OF TANDY CORP. 



^M127 




OWNERS 

Right now is the perfect time to 
give the gift of knowledge to your- 
self and your family. 
•100 Favorite House Plants* 
CAN BE THAT GIFT! 
Discover how to determine the amoun 
of light your house plants are getting 
with little more than your own 
hand. Discover a one finger technique 
for deciding when to water your 
plants and how much. Discover a unique 
way to show how practical your home com- 
puter is for the home when you demonstrate 
it for friends. Why wait? Know you are 
giving your house plants everything they need 

MOO FAVORITE HOUSEPLANTS* 

FOR TRS- 80 4K LI $12.50 

4K Lll $12.50 

(Idaho Residents Add 3% Sales Tax) 
MAKE CHECK OR MONEY ORDER PAYABLE TO: 




A PROFESSIONAL DATA BASE 

MANAGER FOR NORTH STAR 

OPERATING SYSTEMS. 

If you've been struggling with random access pointers, churning out 
pages of BASIC code every time your program needs a newfile, then DBMS-1 
is for you! 

This data base management system allows you to dynamically create 
files with up to ten named, variable length fields. Alpha, numeric and space- 
saving table lookup fields are supported. Your data is stored linked sequential 
and automatically acrao.qed binary tree fashion for fast, keyed searches. 
Records can be amended, deleted, listed alphabetically or summed on 
multiple keys. 

Sophisticated "Wild Card' search procedures allow nearly limitless 
sorting possibilities. There are extensive "help'' routines (for instance, you 
can recall your field names, parameters and record numbers at any time). 

But best of all, DBMS-1 performs ALL searching and sorting IN PLACE. 
That means your files don t have to be in RAM. Access to files by other 
programs is easy — DBMS-1 provides header and record sizes and other 
information on request. 

The DBMS-1 system is a series of linking modules which run under 
NORTH STAR BASIC, Release 4.0 or 5.0 with a minimum of 12K of RAM. 

Price of the Diskette is $125. (US), which includes a fully commented 
version of DBMS-1 and a condensed "Go" file. A sample data file is included 
for experimentation. The extensive user's manual may be ordered separately 
for $15., refundable on purchase of the DBMS-1. One year's FREE update 
service is also yours. 

Order Post Paid From: 

THE SOFTWARE DIVISION 

LAKE CITY TECHNICAL PRODUCTS 

No. 5 - 1952 SPALL ROAD 

KELOWNA, BRITISH COLUMBIA ^ L2 7 

CANADA V1Y 4R1 



CECDAT Inc. P.O.Box 8963 Moscow, Idaho 83643 

Viiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiniiiiiqi 

~ TRS 80 PERIPHERALS 

DISK DRIVES % f 16K MEMORY KIT 

40 tracks, ^RR^ 300 NS $70.00 PRINTERS from 

with power supply & case 250 NS $76.00 CENTRONICS, INTEGRAL 

VERBATIM DISKETTES $3.00 200 NS $85.00 DATA, NEC SPINWRITER 

DYSAN DISKETTES $4.60 w/compiete instructions TEXAS INSTRUMENTS. 

4 DRIVE CABLE $45.00 Jumpers add $2.50 JfW**. ALL AT GREAT SAVINGS!' 



$315 



$379 




We also carry APPLE, SORCERER. PET, SO SALES products. WE WILL HOT RE UNDERSOLD 



GAMES 



ANDROID NIM. . . . $14.00 
Nim robots that wink and 
respond. Excellent graph- 
ics and sound. 
STAR TREK III . $14 00 
Travel through the galaxy 
on the Enterprise and de- 
stroy klingOns New up- 
dated version. 

AIR RAID $14.00 

Real time shooting gal- 
lery. 

SARGONCHESS $19 00 
Best chess for TRS-80 

LIBRARY 100 $49.00 

100 games, utilities, and 
business programs in one 
package. Great value! 
SPACE BATTLE 

by Lv4 $14.95 

Disk $19.95 

ADVENTURE 
by Scott Adams. . . $14.95 
(ea) for Sorcerer or TRS-80 
TRS-80 32K Version$24.95 



TRS 80 SOFTWARE 



UTILITIES 

NEWDOS + $99 .00 

Enhanced DOS. Contains 
many improvements over 
TRSDOS 7 useful utilities 
built in. For 40 track use 
also. 

NEWDOS $49 00 

Same as above without, 

utilities 

SYSTEM INTEGRATION 

TEST $2900 

tests memory, disk drives, 
and printer. 
MICROSOFT FORTRAN 

325.00 

CPM $150.00 

RENUMBER $14 00 

disk $1700 

G2 LEVEL III $49 00 
FOUTH by MSS $35.00 
GSF by Racet Computers 
$24.95 



TRS 80 computers in stock!! 



SUSIIESS 



GL, AR, AP, PAYROLL 
INTERACTIVE $35000 
Reports include unbilled 
invoices, open/closed ac- 
counts, ageing. Trial bal- 
ance, income statement, 
balance sheet. Handles 
200 accounts, 1750 trans- 
actions. Stand alone on 
each $95 

INVENTORY II $99 .00 

activity listing, complete 
listing, selected listing, 
minimum quantity search, 
1000 items per disk. 
ALL ABOVE PROGRAMS 
BYSBSG 

ELECTRIC PENCIL $99 00 
by Michael Shrayer 

disk $150.00 

BEST word processor for 
the TRS-80 



The above list is just a brief summary of toim of our most popular software. We nave a large selection of other 
software for many uses and for many computers. Documentation for any of our programs is available on re 
quest. If you have any questions, please eel. We would Wee to hear from you. 



TO ORDER, CALL OR WRITE: 

MIDWEST COMPUTER PERIPHERALS 

P.O. BOX 437 
WILMETTE IL. 60091 




*xM106 



C.O.D. iSB 



TRS-90© TANDY CORP. 



1 

XM AS SPECIAL 

10% Discount on 

all Software orders 

over $100 






Prices Subject to Change without Notice 

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIHIHIII 



k^ Reader Service — see page 227 



Microcomputing January 1980 179 



Interrupting BASIC 



With this article and a source listing, you can do it. 



d. h. wants 

E. H. Wiser 
NC State University 
Box 5906 
Raleigh NC 27650 



We have been devel- 
oping an 8080-based 
microprocessor system for data 
acquisition and environmental 
control in greenhouses used for 
energy research. The data ac- 
quisition function requires as 
many as 15 data points to be 
read periodically (some as often 
as once per minute) and the data 
processed for output at half- 
hour intervals. The control func- 
tion requires certain points to be 
read and the information pro- 
cessed on 15 second cycles so 



that heaters, vent fans and cool- 
ing pads can be properly con- 
trolled. A further requirement is 
that the system be capable of re- 
sponding to commands entered 
from the keyboard at any time. 

Data acquisition and control 
functions can easily be handled 
with polling loops, but in this 
application the requirement for 
random access to the control 
and data acquisition program 
made polling cumbersome. 
Utilizing interrupts to initiate ac- 
tion seemed to provide the 
answer, but it also presented us 
with a problem. We want to pro- 
gram mostly in BASIC, rather 
than assembly language, but 
the BASIC interpreters available 
have no provisions for servicing 
interrupts. 

This article discusses three 
approaches developed to over- 



CONTROL BASIC 
PROGRAMMING 



INTERRUPT 



RETURN 



ASSEMBLY LANGUAGE 
INTERRUPT HANDLER 



INTERRUPT TRANSFER 

PROGRAM TRANSFER 



Fig. 1. Activity flow for handling interrupts in assembly language. 



CONTROL BASIC 
INITIALIZATION 
(MEMORY PAGE 4 ) 


INITIAL INTERRUPT 


ASSEMBLY LANGUAGE 
PROGRAMMING 
TO INITIATE 
INTERRUPT HANDLER 




INTERRUPT 






I 
I 

4 




CONTROL BASIC 
INTERRUPT HANDLER 
(MEMORY PAGE 6) 


INTERRUPT TRANSFERS 
PROGRAM TRANSFERS- 


I 
I 

1 






IDLE LOOP 
(MEMORY PAGE 6) 







come this problem: (1) handling 
the interrupt in assembly lan- 
guage with a return to the point 
of interrupt in the BASIC pro- 
gram; (2) handling the interrupt 
in BASIC with no return to the 
point of interrupt; (3) handling 
the interrupt in BASIC with a re- 
turn to the point of interrupt in 
the BASIC program. Each ap- 
proach has advantages and dis- 
advantages that depend on the 
particular application. 

The BASIC interpreter we 
used is Cromemco's 3K Control 
BASIC (CB), but all the tech- 
niques used should apply to 
other interpreters, provided you 
have access to the source list- 
ing for the interpreter. A fully 
commented source listing is 
easier to work with, but it can be 
done with just a listing from a 
disassembler if you're 
dedicated enough and are pro- 
ficient at reading assembly lan- 
guage. 

Handling Interrupts in 
Assembly Language 

The simplest way to handle 



interrupts is to process them in 
an assembly-language subrou- 
tine with a return to the BASIC 
program that was executing at 
the time of interrupt. Table 
1 shows the assembly language 
required, and Fig. 1 shows the 
activity flow between the CB 
programming and the interrupt 
handler. Our system has vec- 
tored interrupt capability so that 
eight separate interrupt signals 
can be handled, each causing 
transfer to one of eight different 
memory locations between 
%0000 and %003F. (The % sym- 
bol is used to designate hexa- 
decimal numbers throughout 
the text. The exception is in the 
assembly listings, where hex 
numbers are suffixed with an H 
according to standard practice.) 

An El (enable interrupt) com- 
mand must be executed before 
the microprocessor will recog- 
nize an interrupt, and a mask 
word is required to disable un- 
wanted interrupts. These steps 
are included in the initialization 
routine 'INIT'. 

We chose the interrupt that 



CONTROL BASIC 
INITIALIZATION 
(MEMORY PAGE 4) 



INITIAL 



INTERRUPT 



ASSEMBLY LANGUAGE 
PROGRAMMING 
TO INITIATE 
INTERRUPT HANDLER 



INTERRUPT 



CONTROL BASIC 
PROGRAMMING 
TO HALT 
INTERRUPTS 
(MEMORY PAGE 8) 





* 


CONTROL BASIC 
INTERRUPT HANDLER 
(MEMORY PAGE 6) 



IDLE LOOP 



J 



INTERRUPT TRANSFERS 
PROGRAM TRANSFERS -- 
MANUAL TRANSFERS 



Fig. 2a. Activity flow for limited handling of interrupts in BASIC, Version I. Fig. 2b. Activity flow for limited handling of interrupts in BASIC, Version II. 



180 Microcomputing January 1980 



transfers control to location 
%0008 and masks the rest. The 
JMP instruction at %0008 trans- 
fers control to %0040 where the 
interrupt service (which can be 
any assembly-language routine) 
is exe